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 适合实时性要求或者速度要求较高的场所。
Hive SQL和Spark SQL的区别?
lucky_syq2024-12-25 12:26
相关推荐
ACP广源盛1392462567315 小时前
GSV5600@ACP#多接口协议转换芯片,物理 AI 便携终端的互联核心KaMeidebaby15 小时前
卡梅德生物技术快报 | 噬菌体展示 12 肽文库在蛋白表位定位中的应用与实验数据吴声子夜歌15 小时前
SQL经典实例——元数据查询吴声子夜歌16 小时前
SQL经典实例——处理字符串罗政21 小时前
AI工作流实现Excel自动化+SQL,零 VBA ,零公式,电商订单分析案例 | DTBot吴声子夜歌21 小时前
SQL经典实例——处理数字NineData1 天前
日常巡检 Oracle 时,ChatDBA 怎么把会话、SQL 和等待事件一起看TPBoreas1 天前
springboot3.5比2.x做了哪儿些提升吴声子夜歌1 天前
SQL经典实例——使用多张表摇滚侠2 天前
MyBatis 入门到项目实战 特殊 SQL 的执行 34-37