写点什么

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

  • 2013-12-11
  • 本文字数:1016 字

    阅读完需:约 3 分钟

随着 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:362411
用户头像

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

关注

评论

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

第二周总结

changtai

「架构师训练营」第2周作业 - 设计原则

guoguo 👻

极客大学架构师训练营

架构师训练营第二周总结

极客大学架构师训练营

学习一下:我的学习之道

非著名程序员

学习 程序员 程序人生 提升认知

听说你 ping 用的很 6 ?给我图解一下 ping 的工作原理

小林coding

面试 计算机网络 计算机基础

Redis系列之扫盲篇(一)

z小赵

Java 分布式 高并发系统设计

一款开源的Diffy自动化对比测试框架:超详细实战讲解

狂师

开源 测试 测试驱动开发实战营 自动化测试

【架构师训练营】第2周总结

花生无翼

极客大学架构师训练营

「架构师训练营」第 2周作业

旭东(Frank)

架构 极客大学架构师训练营

Libra教程之:运行自定义move modules

程序那些事

比特币 区块链 以太坊 libra blockchain

BAT面试题汇总:分布式+Dubbo +JVM+微服务+多线程+Spring附答案(建议收藏)

程序员生活志

Java spring 面试 分布式 mybatis

[Redis源码阅读]redis持久化

老胡爱分享

数据库 redis 缓存 持久化

第二周作业

大雄

依赖倒置

程序员开发色情游戏,赴日寻找AV女优真人拍摄,结果...

程序员生活志

程序员 游戏开发

2020年6月17日 MySQL基准测试

瑞克与莫迪

依赖倒置原则理解

Thrine

面向对象设计原则

陈皮

Libra教程之:Libra testnet使用指南

程序那些事

比特币 区块链 以太坊 libra blockchain

0616作业2

Geek_10

架构师训练营-第二周-作业1

狂奔嘀兔纸

极客大学架构师训练营

如何高效开会?

石云升

高效工作 时间管理 高效 开会

Spring BeanPostProcessor 你不能不知道的事

CoderLi

Java spring 程序员 源码分析 后端

Libra教程之:来了,你最爱的Move语言

程序那些事

比特币 区块链 以太坊 libra blockchain

【架构师第二周】总结

浪浪

架构师训练营第二周总结:软件开发简史和框架设计的方法

hifly

设计模式 极客大学架构师训练营

为什么 Vue 更符合这个时代的大势所趋

葡萄城技术团队

Vue SpreadJS

基于 Docker 实现 MySQL 主从复制

ytao

MySQL Dockerfile

架构师训练营作业 --Week2

吴炳华

极客大学架构师训练营

原创 | TDD工具集:JUnit、AssertJ和Mockito (二十二)编写测试-超时

编程道与术

Java 编程 TDD 单元测试 JUnit

架构师训练营-week2命题作业

J.Smile

极客大学架构师训练营

重学 Java 设计模式:实战代理模式「模拟mybatis-spring中定义DAO接口,使用代理类方式操作数据库原理实现场景」

小傅哥

设计模式 小傅哥 重构 代码优化

开源SQL in Hadoop解决方案:我们处于什么位置?_DevOps_Michael Hausenblas_InfoQ精选文章