内容来自Reynold Xin
Berkeley的博士,此人领导了Shark的开发(在加州伯克利分校AMP实验室)。
本文只做翻译,不对两个系统的优劣做评价。
总体上
Shark扩展了Apache Hive,大大加快在内存和磁盘上的查询。而Impala是企业级数据仓库系统, 可以很好地使用Hive/ HDFS,从架构层来说,类似于传统的并行数据库。这两个系统有着很多共同的目标,但也有很大差异。
与现有系统的兼容性
Shark直接建立在Apache/Hive代码库上,所以它自然支持几乎所有Hive特点。它支持现有的Hive SQL语言,Hive数据格式(SerDes),用户自定义函数(UDF),调用外部脚本查询。因为Impala使用自定义的C++运行,它不支持Hive UDF。这两个系统将会与许多BI工具整合,这一直是Impala的主要目标。Shark正在被用于一些BI工具,如Tableau,不过这并没有被探索更多。
内存中的数据处理
Shark允许用户显式地加载在内存中的数据,以加快查询处理,其内存使用有效率的,压缩的面向列的格式。Impala还没有提供在内存中的存储。
容错
Shark被设计为支持短期和长时间运行的查询。它可以从查询故障恢复(感谢底层Spark引擎)。Impala目前是更侧重于短查询,不容错(如果节点发生故障,查询必须重新启动,对短查询来说这无疑是可以接受的)。
性能
做全面的比较太早了点。Shark和Impala都报告比Hive快10-100倍,但这都依赖具体情况和系统负载。两个项目也都在未来6个月内会做重要优化。以我们的经验来看,Sharkr当前版本,如果是内存的数据一般比Hive快100倍,如果是磁盘上的数据一般快5-10倍,这取决于查询(带关联连接的查询,能比Hive快很多)。
目标用户
在我们的理解中,Impala是相当专注于传统企业客户和OLAP和数据仓库工作负载。Shark支持传统OLAP,但也投入了精力,以支持更复杂的Hive使用(如UDF),非结构化数据处理(如ETL),机器学习等先进的分析(通过集成Spark)。Shark的长期目标是有一个统一的系统,既支持SQL也支持高级分析(机器学习,统计等等)。
开发语言
Shark是用Java和Scala写的,运行在JVM上。Impala是用c++写的。Impala会将查询编译成LLVM(底层虚拟机)中间表示法,它可以由即时编译器做进一步优化。Shark查询被编译成JVM字节码。
开放源码
这两个系统都是开源(Apache许可)。Shark开始于加州大学伯克利分校,已经从公司如雅虎接受了重大贡献资助。Impala是在Cloudera开发的,并于最近发布。
分享到:
相关推荐
Apache Hadoop:Hadoop集群运维与优化.docx
Apache Hadoop:Hadoop数据安全与权限管理技术教程.docx
Apache Hadoop:Hadoop数据仓库Hive入门与应用.docx
Apache Hadoop:Hadoop资源管理器YARN详解.docx
"Data Analytics with Hadoop: An Introduction for Data Scientists" ISBN: 1491913703 | 2016 | PDF | 288 pages | 7 MB Ready to use statistical and machine-learning techniques across large data sets? ...
《Hadoop:权威指南》是了解和掌握Apache Hadoop生态系统不可或缺的一本著作。这本书由Tom White撰写,全面深入地介绍了Hadoop的各个组件及其工作原理,对于初学者和专业人士来说都是一份宝贵的参考资料。 Hadoop是...
With this digital Early Release edition of Hadoop: The Definitive Guide, you get the entire book bundle in its earliest form – the author’s raw and unedited content – so you can take advantage of ...
### SQL-on-Hadoop: 回归共享无架构的数据库 #### 概述 本文献《SQL-on-Hadoop: Full Circle Back to Shared-Nothing Database Architectures》由Avrilia Floratou、Umar Farooq Minhas及Fatma Özcan三位来自IBM ...
Hadoop: The Definitive Guide, 4th Edition Get ready to unlock the power of your data. With the fourth edition of this comprehensive guide, you’ll learn how to build and maintain reliable, scalable,...
资源名称:云计算Hadoop:快速部署Hadoop集群内容简介: 近来云计算越来越热门了,云计算已经被看作IT业的新趋势。云计算可以粗略地定义为使用自己环境之外的某一服务提供的可伸缩计算资源,并按使用量付费。可以...
与 Hive 相比,Impala 使用内存优化的执行引擎,因此查询速度更快。这对于 Oracle DBA 来说是一个重要的特性,因为这意味着他们可以在不牺牲性能的情况下使用熟悉的 SQL 语法进行数据查询。 示例: ``` sql> select...
Maven坐标:org.apache.hadoop:hadoop-mapreduce-client-common:2.6.5; 标签:apache、mapreduce、common、client、hadoop、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开...
Apache Hadoop YARN:Moving beyond MapReduce and Batch Processing with Apach 2 【yarn权威指南】
Spring Data for Apache Hadoop API。 Spring Data for Apache Hadoop 开发文档
包org.apache.hadoop.mapreduce的Hadoop源代码分析
这表明Apache Hadoop与SQL的结合使用正成为一个热门话题,说明了使用SQL语言对Hadoop中的数据进行查询和分析的重要性。 标签中的“Hadoop”指明了文档涉及的中心主题,而内容摘录部分提供了关于Cloudera Impala的...
Maven坐标:org.apache.hadoop:hadoop-mapreduce-client-core:2.5.1; 标签:core、apache、mapreduce、client、hadoop、jar包、java、API文档、中文版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html...