一个基于Dataflow的大数据Query Engine系统的设计与实现

被引量 : 0次 | 上传用户:JK0803_wantao
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着企业内日常运转产生的数据规模的不断增大,百度已经面临需要处理上百PB大数据的问题。百度内部普遍采用MapReduce分布式计算框架进行大数据处理,虽然MapReduce框架简化了分布式计算的编程过程,但其接口仍然相对低级,代码难以维护和复用。并且,企业内大部分分析师普遍采用基于关系代数的SQL进行数据分析,百度需要在现有的分布式计算框架上开发基于关系代数的分布式Query Engine,让更多的用户用SQL就能查询大数据,提高企业内大数据查询和分析的效率。同时,目前在工业界有很多基于分布式的关系代数Query Engine系统,例如Apache Hive, Apache SparkSQL, Google Dremel等,这些系统普遍采用SQL作为大数据的查询接口,并结合传统编程语言提供函数扩展,让查询更具有扩展性。同时将查询编译为基于现有分布式计算框架的查询计划,并引入传统RDBMS的优化规则对查询计划进行优化,提高查询性能。虽然工业界的Query Engine系统可以很好的抽象大数据计算,但这些系统的功能和百度内部的需求并不完全符合,百度需要针对自己的需求开发具有高性能,高稳定性和高可扩展性的关系代数Query Engine。本系统的目标是为结构化的大数据计算提供高效的公共组件,实现易用高效地SQL查询接口。本系统借鉴了传统编译器的思想,采用分层的结构,主要分为四层:第一层是前端层,主要负责处理SQL的词法分析,语法分析和语义解析。第二层是中间表示层,实现了对关系查询的中间表示语言IR,IR是“双层”的静态强类型SSA,包括能捕捉完整查询语义的类型系统,表达式系统和关系代数算子,将关系代数运算抽象为基于Dataflow的无环有向图DAG结构。第三层是优化层,将对逻辑计划的各个算子的分析和变换抽象为“遍”,该框架可以动态地添加优化规则,引入了传统RDBMS的基于规则和基于代价的优化,生成最优的查询计划。第四层是运行时层,基于百度内部的分布式数据流计算框架实现了多种关系代数物理算子,例如数据加载算子,表连接算子,聚集算子等,以IR表示的逻辑计划算子会被编译为一个或多个物理算子,这些算子串联为DAG结构。目前本系统在百度内部已经上线使用,覆盖线上批处理查询80%的任务,平均性能超过企业内部的Hive系统30%,还将继续优化性能,完善功能,提高系统可用性和稳定性。
其他文献
本文对15例RSV肺炎进行了T淋巴细胞亚类及淋巴细胞反应的检测,其结果:CD3全部低于正常,均值为37.7±6.8%,CD412例低于正常,均值为28.5±9.2%,CD810例低于正常,均值为19.1±6%
<正> 诗与画的共同性一向为中外文艺家所确认,古罗马诗人贺拉修斯说:"诗歌就象图画",希腊诗人西蒙尼德也说:"诗是有声的画,画是无声的诗,。这与我国张舜民的"诗是无形画,画是
针对太阳影子定位问题,基于非线性最小二乘拟合优化模型,依据基本几何原理,综合天文学和地理学中的相关知识,建立影子长度模型和影子坐标模型。根据影子的顶点坐标,确定物体
目的探讨硫化氢(H2S)对大鼠心肌缺血/再灌注损伤(MIRI)的保护作用及其相关机制。方法 30只雄性SD大鼠随机分为对照组、模型组和H2S处理组,每组10只。通过结扎冠状动脉左前降
从合成气制二甲醚在一套50公斤/日的实验装置内运转12000小时后,丹麦Lyngby公司的发言人称,准备从天然气直接合成二甲醚的催化工艺进行放大。二甲醚是加入柴油内的一种清洁燃料添加剂。按芝加
随着互联网的普及,许多社会矛盾在互联网中尤为凸显,舆情事件经过堆积发酵,构成舆论,形成舆论场。在这样的背景下,电力行业逐渐形成了具有行业特点的三个舆论场,即官方舆论场
近年来,机动车辆呈几何数增长,给城市交通带来了不小的压力,交通电视节目应运而生。本文主要以《都市红绿灯》节目为例,重点对交通电视节目的策划做些研究。
本文侧重讨论作为融合新闻生产载体的全媒介联动新闻中心是怎样一个架构、应如何建立,以及建立这样全媒介联动新闻中心的原因和积极效应。
高中思想政治教学由于高考升学率、以往教学理念及教学方式的影响,存在教育教学低效性的问题。中学思想政治教师要切实转变教育教学观念,全面优化教学设计,改革学生学习方式