`
jiezhu2007
  • 浏览: 241498 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
博客专栏
Cfa1f850-3fc3-3a36-9cd8-c3415c9610c6
hadoop技术学习
浏览量:141911
Group-logo
大数据产业分析
浏览量:2934
社区版块
存档分类
最新评论

SQL on Hadoop技术分析(一)

 
阅读更多
 
2016-07-12 王森 hadoop技术学习

 背景

Hadoop的诞生是划时代的数据变革,但关系型数据库时代的存留也为Hadoop真正占领数据库领域埋下了许多的障碍。对SQL(尤其是PL/SQL)的支持一直是Hadoop大数据平台在替代旧数据时代亟待解决的问题。Hadoop对SQL数据库的支持度一直是企业用户最关心的诉求点之一,也是他们选择的Hadoop平台的重要标准。

 

自打Hive出现之后,SQL onHadoop相关系统已经百花齐放,速度越来越快,功能也越来越齐全。目前比较主流的有Impala,Spark SQL,HAWQ,Tez,Drill,Presto,Tajo等。下面从技术层面梳理下一个技术统一的视角,来为后续在技术方案上选择做参考。

 

系统架构:Runtime Framework vs MPP

在SQL on Hadoop系统中,有两种主流的架构,一种是基于某个运行时框架来构建查询引擎,典型的案例就是Hive,另一种是仿照MPP数据库架构,典型的如Impala,HAWQ。前者现有运行时框架,然后套上SQL层,后者则是一个一体化的查询引擎,有时我们能听到一种声音,说后者的架构优于前者,至少在性能上。那么是否果真如此?

 

一般来说,对于SQL on Hadoop系统很重要的一个评价指标就是:快,低时延。在Hive逐渐普及后,就逐渐有了所谓交互式的查询需求,因为无论是BI系统,还是Ad-hoc,都不能按照离线的方式来处理。很多厂商都试图去解决这个问题,于是就有了Impala,HAWQ等,同时经过不断的发展,Hive也能跑在DAG框架上了,不仅有Tez,还有Spark。从任务的运行角度来看,MPP类引擎的执行方式其实跟DAG模型是类似的,主要的特点如下:

·        DAG v.s. MR:最主要的优势,中间结果不写磁盘(除非内存不够)。

·        流水线计算:上游stage一出结果马上推送或者拉到下一个stage处理,比如多表join时前两个表有结果直接给第三个表,不像MR要等两个表完全join完再给第三个表join。

·        高效的IO:本地查询没有多余的消耗,充分利用磁盘。

·        线程级别的并发:相比之下MR每个task要启动JVM,本身就有很大延迟,占用资源也多。

 

当然MPP模式也有其劣势,一个是扩展性不是很高,这在关系数据库时代就已经有过结论;另一个是容错性差,对于Impala来说一旦运行过程中出点问题,整个查询就挂了。

 

存储格式

 

主流的存储格式有,ORC,Parquet,最近华为大数据团队研发的CarbonData数据格式,从原型测试数据,CarbonData性能上比Parquet要快,这主要得益于在构建Carbon数据格式中,创建了很多的索引,从整个查询扫描过程中,利用索引快速过滤掉数据,减少扫描的数据量,类似这样的系统,有腾讯的Hermes等。另外Impala使用的Parquet格式存储,现在又有了一种新的解决方案,kudu+Impala的方案,Cloudera宣称查询分析非常快,并且能支持数据的更新等操作。

 

资源控制

 

 

在SQL on Hadoop方案中,另外一个客户关注的方面是资源控制,在Hadoop体系中,与Yarn的集成。比如目前的Impala版本就不支持通过Yarn来管理分布使用资源,不过从Impala的版本路标中,与Yarn的数据集成已经是Impala的一个重要的目标。目前能与Yarn集成的有Spark SQL,HAWQ等.

 

 

总结

 

 

 

SQL on Hadoop的技术发展越来越快,各个厂家的竞争也是越来越激烈,到底哪种技术性能更加的好,查询时延更加的低,这个还是要从业务使用场景上来针对性分析选择。

任何一种技术,都有其适合的场景,然后结合技术上分析,如何减少扫描的数据量,是提升查询性能的关键。

 

 


 

 

 

 

 
 

微信扫一扫
关注该公众号

1
2
分享到:
评论

相关推荐

    大数据查询与分析技术——SQL on Hadoop.pdf

    大数据查询与分析技术——SQL on Hadoop.pdf

    Hadoop海量数据处理技术详解与项目实战

    第5章 SQL on Hadoop:Hive 第6章 SQL to Hadoop:Sqoop 第7章 Hadoop性能调优和运维 应用篇:商业智能系统项目实战 第8章 在线图书销售商业智能系统 第9章 系统结构设计 第10章 在开发之前 第11章 实现数据导入导出...

    大数据与OLAP系统

    OLAP(online analytical ...在综述OLAP技术发展的基础上,重点对几个有代表性的SQL on Hadoop系统进行了测 试分析,并展示了这类系统的性能特点。可以预见,未来在低成本的大数据OLAP市场,这类系统会占有重要 位置。

    最新数据库系统概论(新技术篇)

    第12讲 SQL on Hadoop Systems 第13讲 Key-Value数据库 第14讲 流数据分析与处理 第15讲 MongoDB文档数据库 第16讲 图数据库 第17讲 大数据近似算法 第18讲 大数据与机器学习 第19讲 社交网络大数据分析 第20讲 文本...

    大数据与大数据技术.pptx

    Hadoop技术的发展 物联网应用需要将Hadoop变为一个高性能的分析平台 需要Hadoop不光能存储数据,更要能够处理计算数据 大数据与大数据技术全文共59页,当前为第10页。 SQL 分析 挖掘预测 图形化数据分析 智能搜索 ...

    构建近实时分析系统

    Apache Hadoop生态圈的顶级项目之一,解决了传统Lamda架构处理Hadoop上快速变化数据的存储和处理技术过于复杂的问题,同时Kudu能够与Hadoop生态的其他组件比如Impala、Spark、Flume和Kafka等组件集成,大大降低了对...

    大数据与大数据技术(1).pptx

    Hadoop技术的发展 物联网应用需要将Hadoop变为一个高性能的分析平台 需要Hadoop不光能存储数据,更要能够处理计算数据 大数据与大数据技术(1)全文共58页,当前为第10页。 SQL 分析 挖掘预测 图形化数据分析 智能...

    大数据开发的技巧总结以及入门教程知识点总结.docx

    SQL on Big Data:掌握Hive、Spark SQL、Impala等SQL-on-Hadoop工具,用于大数据查询与分析。 数据可视化:了解如何将大数据分析结果通过Tableau、PowerBI等工具呈现。 数据压缩:熟悉Snappy、Gzip等数据压缩算法...

    一个线上影院购票系统online-cinema.zip

    购票系统是一种用于方便用户购买门票、交通票、电影票等各种类型票务的系统。这种系统通常涉及以下几个方面的功能和流程: ...大数据技术:包括Hadoop、Spark、Hive等用于处理和分析大规模数据集的技术。

    校车在线购票系统online-ticket.zip

    购票系统是一种用于方便用户购买门票、交通票、电影票等各种类型票务的系统。这种系统通常涉及以下几个方面的功能和流程: ...大数据技术:包括Hadoop、Spark、Hive等用于处理和分析大规模数据集的技术。

    TQ2440平台下的模拟NES游戏,也可以通过手机蓝牙控制NES-game-simulated-on-TQ2440.zip

    C#(读作C Sharp)是一种由微软公司开发的面向对象的编程语言。它结合了C和$C++$等传统编程语言的优点,并在软件开发领域中得到了广泛应用...大数据技术:包括Hadoop、Spark、Hive等用于处理和分析大规模数据集的技术。

    大数据平台测试标准.doc

    大数据标准化工作组织...减少了2个用例 Hadoop平台基础能力测试用例分布 Hadoop平台基础能力涵盖了运维管理、可用性、功能、兼容性、安全、多租户和扩展性 等指标,总共38项测试用例: MPP数据库(面向在线分析处理(on-...

    开源的分布式内存文件系统 Tachyon.zip

     AMPLab的其他项目包括PIQL,类似于一种基于键/值存储的SQL查询语言;MLBase,基于分布式系统的机器学习系统;Akaros,一个多核和大型SMP系统的操作系统;Sparrow,一个低延迟计算集群调度系统。Tachyon可运行在...

    基于大数据平台数据分析技术选型调研.pdf

    基于⼤数据平台数据分析技术选型调研 技术选型调研 ⼤⽅向任务 分布式平台 选出⼏个可⾏的⽅案 分析优缺点 任务细分: 数据源存储的问题 ⽀持分布式的深度学习组件 业内端到端的解决⽅案有哪些——可借鉴的架构⽅案 ...

    Apache+Kylin权威指南

    Apache Kylin是Hadoop大数据平台上的一个开源OLAP引擎。它采用 多维立方体预计算技术,可以将大数据的SQL查询速度提升到亚秒级别。 相对于之前的分钟乃至小时级别的查询速度,亚秒级别速度是百倍到千 倍的提升,该...

    大数据离线计算.pdf

    ⼤数据离线计算 离线计算概述 所谓⼤数据离线计算,就是利⽤⼤数据的技术栈(主要是Hadoop),在计算开始前准备好所有输⼊数据,该输⼊数据不会产⽣变化,且 在解决⼀个问题后就要⽴即得到计算结果的计算模式。...

    第七章-《大数据导论》大数据处理平台.pdf

    & Ghemawat, S., "MapReduce: Simplified Data Processing on Large Clusters", OSDI'04 实例:微博年度热词统计 某一年度所有微博内容中各个词出现的次数 根据次数进行排序,排名前TopK的词作为年度热词 第 一 步 ...

    大数据应用测试经验总结.pdf

    复制⽂件 hadoop fs -cp ${hdfs file} ${hdfs file} 移动⽂件 hadoop fs -mv ${hdfs file} ${hdfs file} 三、hive和hbase⽐较: Hive(⾮数据库) Hbase(数据库) 适⽤场景 ⽤于对⼀段时间内的数据进⾏分析查询,...

    大数据离线计算的架构与组件.pdf

    ⼤数据离线计算的优势 针对这⼀系列问题,以Hadoop为代表的⼤数据解决⽅案表现出其优越性,Hadoop技术栈中的各种组件不断丰富,已经完全能实现传统BI的功能,并解决了其容量和性能的瓶颈。 但⼤数据技术也带来了⼀些...

Global site tag (gtag.js) - Google Analytics