SQL on Hadoop
2017-04-04 08:55:05 0 举报
SQL on Hadoop是一种将SQL查询语言与Hadoop分布式计算框架相结合的技术。它允许用户使用熟悉的SQL语法来查询和分析存储在Hadoop集群中的数据,而无需编写复杂的MapReduce程序。通过SQL on Hadoop,用户可以更快速、更高效地处理大规模数据集,实现数据挖掘、数据分析和业务智能等应用。这种技术的出现极大地简化了大数据处理的复杂性,降低了技能门槛,使得更多的非技术人员能够参与到大数据项目中来。总之,SQL on Hadoop为大数据领域带来了革命性的变革,为企业提供了更加灵活、高效的数据处理解决方案。
作者其他创作
大纲/内容
核心优势
指标对比技术层面解读
Spark在性能和容错性上介于Hive和Impala之间,不好不坏,这也取决于技术实现:-中间结果只存一份,而且尽可能使用内存。相比MR中间结果三副本,性能会有较大提升。但也因此,容错性不及Hive-中间结果依然需要保存,与Impala的pipleline模式(中间结果不临时保存)相比,性能会有所不及。但容错性要好于Impala-目前不支持CBO(基于代价优化)以及Runtime Filter特性(对Join支持不完善),性能约为Impala的1/8~1/3左右-Spark已经在开发CBO功能,后续如果支持RF,相信性能会提升到Impala的1/2左右
查询纬度固定,查询不及时
容错性强:长时间ETL作业
查询性能好
高性能:高并发、交互式SQL查询
核心劣势
查询性能好、多用户并发性强
适用场景
ETL Developer
BI and Business Analytics
1. 过程式开发:与机器学习、流计算等集成开发,以Java(Scala、Python等)作业的形式提交集群2. 后续支持响应延迟小的交互式SQL查询
性能较差
-用户指定查询纬度,指定之后不能随意更改-Kylin会根据指定纬度对查询结果进行预计算,用户SQL查询只是将预计算结果检索出来-和Hive、Spark以及Impala等相比,Kylin采用预计算而非即时计算,因此性能很好。但是必须要求查询纬度固定,而且一般只能查询固定时间段的数据,比如昨天一天、过去一周等
对口用户
容错性最强
容错性较差
1. 性能、容错性介于Hive与Impala之间2. SQL可以与Java、Scala、Python等语言融合,接入工程体系3. 可以与Spark生态中其他组件混合使用,比如机器学习程序可以直接使用SQL查询数据
Hive基于MR,中间结果都会落盘HDFS三副本。-容错性最强:因此,即使中间过程出现异常,只需要从上一个中间结果重新开始计算即可恢复整个作业。-性能最差:中间结果落盘,下一个MR阶段重新读HDFS,会消耗大量资源;另外,每个阶段都执行shuffle,也会消耗大量资源。最后,MR启动进程也相当耗时。
Data Engineers And Data Scientist
纬度固定:报表查询
性能、容错性介于Hive与Impala之间
-Impala基于MPP架构,采用pipeline模式,中间结果不保存,直接传给下阶段作业。性能得到极大提升,但容错性很差,一旦中间出现异常,作业需要从头来来过-支持完善的CBO策略,对Join支持比较成熟,性能较好-架构不存在中心节点,多用户并发性强
0 条评论
下一页