SQL on Hadoop开源项目总结

随着Hadoop的流行,愈来愈多的企业把数据存储在Hadoop上,或者Non-SQL数据库上,随之相关的数据处理技术也从一开始的Map Reduce一统江湖,到如今各类技术竞相出现。最新的趋势是,你们广泛但愿可以快速获得查询结果,作交互式查询,同时也但愿传统的BI(Business Intelligence,商务智能)工具能够直接和基于Hadoop的大数据平台链接起来,以便使用现用工具进行可视化数据分析。数据库

SQL on Hadoop是近几年发展起来的技术,解决了交互式查询和SQL支持的问题。下文总结了一些这个领域的开源项目,供参考。若有具体问题或任何反馈,欢迎联系做者本人:boyang798@gmail.com。缓存

项目名称 技术特色 主导公司
Apache Hive 支持原生Hadoop数据存储和访问,存储数据schema等metadada信息,提供类SQL的数据查询语言 初期由Facebook开发,如今被Hadoop社区普遍接受
Apache Spark 将Map Reduce缓存在内存中执行(RDD,Resilient Distributed Datasets),使用多级有向图来优化查询执行。Spark SQL支持JDBC和ODBC Databricks
Cloudera Impala 使用C/C++实现的基于Hadoop的数据查询层,用户量比较大,与现有BI工具集成比较好 Cloudera
Stinger Initiative 基于Hive的性能优化和提高,与Hadoop结合比较紧密 Hortonworks
Apache Drill 以Google Dremel论文为基础,全新实现的数据查询层,不依赖Hadoop,支持schema free的数据查询。支持JDBC和ODBC MapR
Presto 分布式SQL查询执行引擎,支持多种数据源,可扩展性比较好。支持JDBC 初期由Facebook开发,如今Netflix也是积极用户和贡献者
Apache Phoenix 基于Apache HBase的关系型数据库层。支持JDBC 初期由Salesforce开发,如今被多家公司使用和共同开发
Apache Kylin 基于Apache HBase的OLAP,使用OLAP Cube技术作多维数据预计算和聚合。支持JDBC 由ebay开发
Apache Tajo 基于Hadoop的数据仓库和SQL数据查询执行引擎。支持JDBC 由Database Lab., Korea University开发
Cascading Lingual 基于Hadoop的SQL数据查询执行引擎。支持JDBC 由Cascading和Optiq开源社区开发
Dato (GraphLab) 严格意义上不属于SQL on Hadoop,可是其有特殊的技术,因此值得一提。基于C++实现的数据存储和分析工具,初期是Graph Base的数据存储和查询技术,主要用于机器学习。如今也扩展为通用的大数据分析和处理平台。 GraphLab由Carnegie Mellon University的Carlos Guestrin教授发起,如今更名为Dato,由dato.com公司主导

以上各个项目各有特色和优缺点,目前没有一家能够统一整个SQL on Hadoop市场,而且各自都仍在发展和演进之中。用户须要根据本身的特定应用场景和技术领域选择合适的工具。性能优化


扫描微信二维码联系做者
扫描微信二维码联系做者微信

相关文章
相关标签/搜索