IT评测·应用市场-qidao123.com技术社区

标题: Hive SQL和Spark SQL的区别? [打印本页]

作者: 麻花痒    时间: 2024-12-25 21:16
标题: Hive SQL和Spark SQL的区别?
1    Hive     Hive  是基于  Hadoop  的一个数据堆栈工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的sql查询功能,可以将  sql  语句转换为  MapReduce  任务举行运行。其优点是学习成本低,可以通过类  SQL  语句快速实现简单的MapReduce  统计,不必开辟专门的  MapReduce  应用,非常适合数据堆栈的统计分析。     Hive  是建立在   Hadoop   上的数据堆栈根本构架。它提供了一系列的工具,可以用来举行数据提取转化加载(ETL)  ,这是一种可以存储、查询和分析存储在   Hadoop   中的大规模数据的机制。  Hive   定义了简单的类SQL 查询语言,称为   HQL  ,它允许熟悉   SQL   的用户查询数据。同时,这个语言也允许熟悉   MapReduce开辟者的开辟自定义的 mapper   和   reducer   来处理内建的   mapper   和   reducer   无法完成的复杂的分析工作。     2    Spark SQL     Spark SQL  主要用于结构化数据处理和对  Spark  数据实行类  SQL  的查询。通过  Spark SQL  ,可以针对差异格式的数据实行ETL  操作(如  JSON  ,  Parquet  ,数据库)然后完成特定的查询操作。一样平常来说,  Spark  每支持一种新的应用开辟,都会引入一个新的Context  及相应的  RDD  ,对于  SQL  这一特性来说,引入的就是SQLContext和  SchemaRDD  。     留意:在  Spark1.3  之后,  SchemaRDD  已经更名为  DataFrame  ,但它本质就类似一个  RDD  ,因为可以将DataFrame无缝的转换成一个  RDD  。     3  、比对     Hive  是基于  Hadoop  的一个数据堆栈工具,同时也是查询引擎,基于  Hadoop  做数据清洗(  ETL  )、报表、数据分析等。但是,对于实时插入、更新、删除数据,还要求强同等性和毫秒级相应,这个就不是Hive的优点,因为MapReduce  处理数据是一个个阶段举行的,每个阶段都要落盘,不能多个  map  串联使用。     对于  Spark  ,有  RDD  ,可以把  map  过程串起来,中间过程存在内存中,再做一些优化,官方给出的答案是比Hadoop  处理速度快乐  10-100  倍。     Hive  适合处理离线非实时数据、数据堆栈存储。     Spark SQL  适合实时性要求或者速度要求较高的场所。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com技术社区 (https://dis.qidao123.com/) Powered by Discuz! X3.4