写点什么

对大数据进行“钻取”

2012 年 10 月 07 日

鉴于最近与 Hadoop 相关的事物呈爆炸性增长,出现与 Hadoop 生态系统相关的产品和实现也就不足为奇了。受到 Google Dremel 启发,Apache 的 Drill 项目是对大数据集进行交互式分析的分布式系统。Drill 并不会试图取代已有的大数据批处理框架(Big Data batch processing framework),如 Hadoop MapReduce 或流处理框架(stream processing framework),如 S4 Storm 。相反,它是要填充现有空白的——对大数据集的实时交互式处理

类似于 Dremel, Drill 实现基于对嵌套、树状数据的处理。在 Dremel 中,这个数据基于 protocol buffers ——嵌套的、基于模式的数据模型(nested schema-based data model)。Drill 计划通过添加其它基于模式的实现来扩展这个数据模型,例如 Apache Avro 以及模式化程度更低的 JSON BSON 。除了单独的数据结构,Drill 还计划支持小的数据连接(baby joins)——连接到小型的可加载到内存中的数据结构。

Dremel 只基于一种嵌套数据的类 SQL 查询语言,Drill 与之不同,它计划引入几种(可插拔)的查询语言。Drill 的实现将会包含:

· DrQL——针对嵌套数据的类 SQL 查询语言,它与 Google BigQuery/Dremel 兼容。这样,BigQuery 应用能够与 Drill 协同工作。

· Mongo 查询语言

为了实现高性能查询处理,Drill 计划专门引入一种分布式可扩展的执行引擎(例如,类似于 Dryad )。这个引擎将会提供数据本地化、容错以及基于列和基于行的等级处理。

Drill 的初期目标是明确细化的需求和架构,然后开发包含执行引擎和 DrQL 的初步实现。

目前,确定初期需求和定义整体系统架构之类的重要工作已经完成。下一步就是实现主要的 Drill 组件。有些组件的原型源于其它项目的某一部分,如 OpenDremel 中的解析器。

InfoQ 有幸与这个项目的核心开发人员 Ted Dunning 来讨论 Drill。

InfoQ:Drill 这个新项目最让你感兴趣的是什么?

Dunning:这个新项目提供了构建社区的机会,这是一种目前开源社区所忽略的计算模型。这个社区会基于对这种计算方式感兴趣的共识来创建,社区将会比项目所产生的代码更重要。在 Apache 有一种说法,社区比代码重要。 在 Hadoop 上我们可以明确看到这一点,拥有了社区和对接口的共识就会产生光明的市场前景。我们需要做像 Dremel 一样的事物。对于一个公司来讲,不会私下开发这一系列的功能,然后将结果公之于众。我们需要就像 Hadoop 那样,构建共识和社区。

InfoQ: Drill 将会主要用在什么应用上呢?

Dunning: 我认为,Drill 是对 map-reduce 和实时计算的很好补充。有些应用会产生扁平表,这些表将会用于那种特定的探索式分析,这种应用中 Drill 模式的查询也会大有可为。这将便于创建拥有较强数据钻取功能和漂亮可视化界面的 dashboard 界面。

我还认为,在一台单机上运行 Drill 来处理非格式(non-columnar)化的数据也很棒。当你只是聚合或简单分析平面文件的时候,这将是替代诸如 AWK、Perl、Python 这种脚本语言的一种有意思的选择。

InfoQ: 你觉得 Drill 实现最大的复杂性和挑战是什么?

Dunning: 执行 Drill 查询有三个主要的过程。首先,你需要对查询进行解析。这不仅仅是词法分析,因为你还要处理一些语义上比较微妙的东西,这存在于现实世界的任意解析语言中。其次,你需要将解析器产生的逻辑执行计划转变成实际计划(physical plan),在其中要考虑到有多少执行者(worker)、基础文件是什么格式、存储了什么以及执行引擎有什么样的功能。最后,你必须真正高效的执行实际计划。这可能会用某种类型的 JIT 编译器将部分实际计划转使换成本地代码。综合这些阶段,你要考虑如何在集群的环境中协调这些执行过程。

依我看来,解析器已经基本解决。名为 Optiq 的高级查询优化器也可用了,尽管它还不能处理嵌套数据。这样,执行引擎是还未完成的主要代码,以及粘合整个过程的代码。我猜,我们首先将会有一个初级版本的执行引擎,但随着时间的推进会有不断升级的引擎。

InfoQ: 有哪些公司对 Drill 的开发感兴趣呢?

Dunning: 确实有很多,而且还在迅速增加。我们参与了所有主要商用 Hadoop 发布版本的邮件列表和员工聚会。我们还得到了其他一些公司的关注,如 Concurrent and Drawn to Scale、Big Data Craft 和 Hadapt。实际上,Big Data Craft 甚至从以色列派遣了一名代表到第一届 Drill 用户组,并展现 OpenDremel 项目(现在这个项目已经并入到 Drill 中了)的进展。我们也曾经参与并得到诸如 Intel 和 Twitter 这样的大公司的关注。海湾地区的 Drill 用户组已经有超过 200 名会员,开发者的邮件列表大致处于相同的水平。

所以,来自各种公司的兴趣非常浓厚。

但是,我需要指出,参与 Apache 项目的通常是个人。这些个人是由谁雇佣或赞助超出了 Apache 关心的范围。有些公司愿意给人这样的印象,他们拥有或控制某些 Apache 项目。Apache Drill 不会像这样,始终欢迎所有个人的参与。

InfoQ: 你们最早的 Drill 代码什么时候能获取呢?

Dunning: 这取决于社区。我们从 Open Dremel 获取的解析器将会很快到位。紧接着就是修改后的计划器和查询优化器。所有人都在猜测何时能有可用的发布版本。也就是说,对于想贡献或参与这个项目的人来说,有很多事可以去做。

查看英文原文:“Drilling” Through the Big Data

2012 年 10 月 07 日 20:415259

评论

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

涵盖多场景区块链与政务结合 应用前景广阔

CECBC区块链专委会

区块链 互联网 数字政务

区块链 新基建定位下的新使命 2020新区势

CECBC区块链专委会

区块链 新基建

架构师训练营0期11周

WW

架构师训练营第 11周作业和感想

tuuezzy

极客大学架构师训练营

抗疫复产,CDN助企业破局发展

华为云开发者社区

CDN 网络 华为云 CDN加速 企业应用

穿什么衣服去面试?

escray

学习 面试 面试现场

分享一个阿里云轻量级开源前端图编排,流程图js组件——butterfly-dag

InfoQ_39ba186c207f

Java 流程图 flow canvas html/css

屏幕共享接入指南

anyRTC开发者

WebRTC 在线教育 直播 RTC

化妆品行业与区块链的融合可减少甚至消除假冒伪劣

CECBC区块链专委会

区块链 化妆品

Flink-状态后端作用-11

小知识点

scala 大数据 flink

消息队列之推还是拉,RocketMQ 和 Kafka 是如何做的?

yes的练级攻略

kafka RocketMQ

面试官想知道都在这里

escray

学习 面试 面试现场

mPaaS 客户端证书错误避坑指南

阿里云金融线TAM SRE专家服务团队

数据挖掘学习指南(转载)

Jackchang234987

数据挖掘 产品经理

开发者的福音,LR.NET模块化代码生成器

Philips

敏捷开发 快速开发 模块化流程 代码质量 .net core

初识Druid——实时OLAP系统

justskinny

大数据处理 大数据技术 Apache Druid

学习Python真的能找到工作吗?

代码制造者

Python 程序员 编程语言 低代码 零代码

【写作群星榜】8.15~8.28 写作平台优秀作者 & 文章排名

InfoQ写作平台官方

写作平台 排行榜

LeetCode题解:155.最小栈,使用两个栈,详细注释

Lee Chen

LeetCode 前端进阶训练营

有为而治:平衡吞噬世界的系统之熵

IT民工大叔

20年美团架构师一份“架构宝典”竟涵盖了架构设计和实践技巧?

周老师

Java 编程 程序员 架构 面试

甲方日常 3

句子

工作 随笔杂谈 日常

软件开发丨关于软件重构的灵魂四问

华为云开发者社区

软件 开发者 软件开发 代码 软件重构

企业网络安全漏洞多,这些等保服务来填坑

华为云开发者社区

Web 安全 防火墙 等保 DDoS

建设开发者生态:6项华为API管理原则落地

华为云开发者社区

开发者 API 华为云 API Explorer平台 应用技术

最强云硬盘来了,让AI模型迭代从1周缩短到1天

华为云开发者社区

SSD 云存储 All-Flash 云硬盘 擎天架构

ShardingSphere简介+实战

云淡风轻

ShardingJDBC

【FCC前端教程】44关学习CSS与CSS3基础「二」

三钻

CSS 前端 FCC

微前端在民生 APaaS/PSET 平台的探索与实践

亻尔可真木奉

探索与实践 案例分享 微前端

oeasy教您玩转linux010107那啥在哪 whereis

o

微服务架构下,DLI的部署和运维有何奥秘?

华为云开发者社区

Docker 大数据 Serverless 数据湖 DLI

InfoQ 极客传媒开发者生态共创计划线上发布会

InfoQ 极客传媒开发者生态共创计划线上发布会

对大数据进行“钻取”-InfoQ