热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

SQLonHadoop开源项目总结

随着Hadoop的流行,越来越多的企业把数据存储在Hadoop上,或者Non-SQL数据库上,随之相关的数据处理技术也从一开始的MapReduce一统江湖,到现在各种技术竞相出现。

随着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和ODBCDatabricks
Cloudera Impala使用C/C++实现的基于Hadoop的数据查询层,用户量比较大,与现有BI工具集成比较好Cloudera
Stinger Initiative基于Hive的性能优化和提升,与Hadoop结合比较紧密Hortonworks
Apache Drill以Google Dremel论文为基础,全新实现的数据查询层,不依赖Hadoop,支持schema free的数据查询。支持JDBC和ODBCMapR
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市场,并且各自都仍在发展和演进之中。用户需要根据自己的特定应用场景和技术领域选择合适的工具。

扫描微信二维码联系作者
《SQL on Hadoop开源项目总结》


推荐阅读
  • 深入浅出:Hadoop架构详解
    Hadoop作为大数据处理的核心技术,包含了一系列组件如HDFS(分布式文件系统)、YARN(资源管理框架)和MapReduce(并行计算模型)。本文将通过实例解析Hadoop的工作原理及其优势。 ... [详细]
  • 大数据时代的机器学习:人工特征工程与线性模型的局限
    本文探讨了在大数据背景下,人工特征工程与线性模型的应用及其局限性。随着数据量的激增和技术的进步,传统的特征工程方法面临挑战,文章提出了未来发展的可能方向。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 本文深入探讨了Linux系统中网卡绑定(bonding)的七种工作模式。网卡绑定技术通过将多个物理网卡组合成一个逻辑网卡,实现网络冗余、带宽聚合和负载均衡,在生产环境中广泛应用。文章详细介绍了每种模式的特点、适用场景及配置方法。 ... [详细]
  • 本题探讨如何通过最大流算法解决农场排水系统的设计问题。题目要求计算从水源点到汇合点的最大水流速率,使用经典的EK(Edmonds-Karp)和Dinic算法进行求解。 ... [详细]
  • 本题探讨了在一个有向图中,如何根据特定规则将城市划分为若干个区域,使得每个区域内的城市之间能够相互到达,并且划分的区域数量最少。题目提供了时间限制和内存限制,要求在给定的城市和道路信息下,计算出最少需要划分的区域数量。 ... [详细]
  • 在现代Web应用中,当用户滚动到页面底部时,自动加载更多内容的功能变得越来越普遍。这种无刷新加载技术不仅提升了用户体验,还优化了页面性能。本文将探讨如何实现这一功能,并介绍一些实际应用案例。 ... [详细]
  • Hadoop发行版本选择指南:技术解析与应用实践
    本文详细介绍了Hadoop的不同发行版本及其特点,帮助读者根据实际需求选择最合适的Hadoop版本。内容涵盖Apache Hadoop、Cloudera CDH等主流版本的特性及应用场景。 ... [详细]
  • 全面解读Apache Flink的核心架构与优势
    Apache Flink作为大数据处理领域的新兴力量,凭借其独特的流处理能力和高效的批处理性能,迅速获得了广泛的关注。本文旨在深入探讨Flink的关键技术特点及其应用场景,为大数据处理提供新的视角。 ... [详细]
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • 图数据库中的知识表示与推理机制
    本文探讨了图数据库及其技术生态系统在知识表示和推理问题上的应用。通过理解图数据结构,尤其是属性图的特性,可以为复杂的数据关系提供高效且优雅的解决方案。我们将详细介绍属性图的基本概念、对象建模、概念建模以及自动推理的过程,并结合实际代码示例进行说明。 ... [详细]
  • 最近团队在部署DLP,作为一个技术人员对于黑盒看不到的地方还是充满了好奇心。多次咨询乙方人员DLP的算法原理是什么,他们都以商业秘密为由避而不谈,不得已只能自己查资料学习,于是有了下面的浅见。身为甲方,虽然不需要开发DLP产品,但是也有必要弄明白DLP基本的原理。俗话说工欲善其事必先利其器,只有在懂这个工具的原理之后才能更加灵活地使用这个工具,即使出现意外情况也能快速排错,越接近底层,越接近真相。根据DLP的实际用途,本文将DLP检测分为2部分,泄露关键字检测和近似重复文档检测。 ... [详细]
  • MapReduce原理是怎么剖析的
    这期内容当中小编将会给大家带来有关MapReduce原理是怎么剖析的,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1 ... [详细]
  • 深入解析Spark核心架构与部署策略
    本文详细探讨了Spark的核心架构,包括其运行机制、任务调度和内存管理等方面,以及四种主要的部署模式:Standalone、Apache Mesos、Hadoop YARN和Kubernetes。通过本文,读者可以深入了解Spark的工作原理及其在不同环境下的部署方式。 ... [详细]
author-avatar
手机用户2502919063
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有