写点什么

开源 SQL in Hadoop 解决方案:我们处于什么位置?

2013 年 12 月 11 日

随着 Facebook 开源了最近发布的 Presto ,已经非常拥挤的 SQL in Hadoop 市场变得更加错综复杂。一些开源工具正在努力获得开发者的注意:Hortonworks 围绕着 Hive 创建的 Stinger Apache Drill Apache Tajo 、Cloudera 的 Impala 、Salesforce 的 Phoenix (用于 HBase)以及现在的 Facebook Presto。

已经在产品环境中使用 Hadoop 的组织需要交互式的 SQL 查询支持,同时能够与已有的 BI 工具进行平滑的集成。来自于 eBay 的 Vijay Madhavan 在他的博客 Hadoop 场景中的 SQL 一文中声称:

现在大部分基于 Map-Reduce 的分析系统能够在非交互式和批量 SLA 领域良好地工作,包括当前版本的 Hive、Pig、Cascading。许多产品正在努力通过提供交互式“SQL in Hadoop”解决方案支持实时交互式 SLA。

SQL in Hadoop 解决方案的用例包括支持交互式 ad-hoc 查询;支持使用 MicroStrategy 或者 Tableau 这样的 BI 系统进行报表 / 可视化;支持多来源(multi-source)数据,例如 HDFS 中的行为型数据必须被连接到 RDBMS 或者其他来源中的人口统计数据。

很多这样的 SQL in Hadoop 解决方案在某些方面有共同点:

  1. 在元数据层面上,好像 HCatalog /Hive Metastore 将它们自己制定成了跨不同数据源管理模式事实上(de-facto)的标准。
  2. 然后有某些数据格式,例如 Parquet ORC ,它们对于选择的工作负载而言正在变得越来越流行,同时在自然环境中使用的也越来越广泛。
  3. 大部分解决方案好像都支持各种各样的 ANSI SQL(不同的版本: 1992 1999 2003 )。

上面几点可以帮助用户在不同的 SQL in Hadoop 解决方案之间迁移,不会有很多令人头痛的问题。

但是也有一些值得注意的区别,如下所示:

  • 解决方案中的一部分是由 Apache 支持的,同时也伴随着社区的支持(Stinger、Drill、Tajo);其他的则是由单独的实体组织拥有(Impala、Phoenix、Presto)。
  • 另外,有一部分解决方案在数据源方面有一些限制,它们能够查询 Hadoop 生态系统;而另一些从架构的角度看更加灵活,可以查询关系型数据库和 NoSQL 数据存储(Presto、Drill)。
  • 另一点是允许在数据上执行的操作不同:有一些是纯(分布式)查询引擎,而另一些则允许执行更新操作。

在过去的 10 到 18 个月中,有越来越多的人和商业实体已经决定尝试一下,对存储在Hadoop 中的数据实现低延迟、 ad-hoc SQL 访问。无论怎样,从长远来看由于重叠的用例和环境喜好的不同有适合多种 SQL in Hadoop 解决方案生存的空间。

查看英文原文 Open Source SQL-in-Hadoop Solutions: Where Are We?

2013 年 12 月 11 日 06:362102
用户头像

发布了 321 篇内容, 共 103.7 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

netty案例,netty4.1基础入门篇五《NettyServer字符串编码器》

小傅哥

Java Netty

netty案例,netty4.1中级拓展篇四《Netty传输文件、分片发送、断点续传》

小傅哥

Netty 小傅哥

netty案例,netty4.1基础入门篇十一《netty udp通信方式案例Demo》

小傅哥

Java Netty

netty案例,netty4.1中级拓展篇三《Netty传输Java对象》

小傅哥

Java Netty 小傅哥

netty案例,netty4.1中级拓展篇六《SpringBoot+Netty+Elasticsearch收集日志信息数据存储》

小傅哥

Java Netty

netty案例,netty4.1中级拓展篇七《Netty请求响应同步通信》

小傅哥

Java Netty 小傅哥

netty案例,netty4.1中级拓展篇九《Netty集群部署实现跨服务端通信的落地方案》

小傅哥

Java Netty 小傅哥

netty案例,netty4.1基础入门篇二《NettyServer接收数据》

小傅哥

Java Netty 小傅哥

netty案例,netty4.1中级拓展篇一《Netty与SpringBoot整合》

小傅哥

Java Netty

netty案例,netty4.1中级拓展篇八《Netty心跳服务与断线重连》

小傅哥

Netty 小傅哥

Stream 流

HeGuang

Java

netty案例,netty4.1基础入门篇一《嗨!NettyServer》

小傅哥

Java Netty

netty案例,netty4.1基础入门篇四《NettyServer收发数据》

小傅哥

Java Netty 小傅哥

netty案例,netty4.1基础入门篇十《关于ChannelOutboundHandlerAdapter简单使用》

小傅哥

Netty 小傅哥

LeetCode题解:11. 盛最多水的容器,for循环双指针,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

理论 | 三天两夜,万字长文,吃透TCP/IP

简爱W

Java TCP

没有亮点的简历,要用详历来弥补

escray

学习 面试 简历 面试现场

一把年龄,技术一般,怎么去面试

escray

学习 面试 面试现场

世界很大,我想去看看

escray

学习 面试 面试现场

netty案例,netty4.1基础入门篇三《NettyServer字符串解码器》

小傅哥

Java Netty 小傅哥

netty案例,netty4.1基础入门篇十二《简单实现一个基于Netty搭建的Http服务》

小傅哥

Java Netty

netty案例,netty4.1中级拓展篇五《基于Netty搭建WebSocket,模仿微信聊天页面》

小傅哥

Java Netty 小傅哥

netty案例,netty4.1基础入门篇零《初入JavaIO之门BIO、NIO、AIO实战练习》

小傅哥

Java Netty 小傅哥

netty案例,netty4.1基础入门篇六《NettyServer群发消息》

小傅哥

Java Netty 小傅哥

netty案例,netty4.1基础入门篇七《嗨!NettyClient》

小傅哥

Netty 小傅哥

netty案例,netty4.1中级拓展篇十《Netty接收发送多种协议消息类型的通信处理方案》

小傅哥

Java Netty 小傅哥

netty案例,netty4.1基础入门篇八《NettyClient半包粘包处理、编码解码处理、收发数据方式》

小傅哥

Netty 小傅哥

netty案例,netty4.1基础入门篇九《自定义编码解码器,处理半包、粘包数据》

小傅哥

Java Netty

netty案例,netty4.1中级拓展篇二《Netty使用Protobuf传输数据》

小傅哥

Java Netty 小傅哥

程序开发中的持续集成、持续交付、持续部署

石云升

持续集成 持续交付 持续部署 自动化部署

netty案例,netty4.1中级拓展篇十一《Netty基于ChunkedStream数据流切块传输》

小傅哥

Java Netty 小傅哥

编译系统设计赛(华为毕昇杯)技术报告会|5月1日

编译系统设计赛(华为毕昇杯)技术报告会|5月1日

开源SQL in Hadoop解决方案:我们处于什么位置?-InfoQ