欢迎来到天天文库
浏览记录
ID:36578473
大小:2.77 MB
页数:44页
时间:2019-05-12
《百度海量数据分析语言》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、DISQL2.0:百度海量数据分析语言陈晓鸣资深工程师百度基础架构部@陈晓鸣在百度chenxiaoming@baidu.com目录发展历程一个例子前端处理中间语言翻译运行时总结不问答组织进化-使用人数的问题成立了数据团队正在进行中…一站式的日志分析服务B-S模式访问私有云统一管理、统一运维语言进化-数据量的问题全新的C++运行时类SQL的描述式语言C++自定义函数支持PHP+C混合运行时更多算子支持算子的分布式实现多种优化用户自定义函数支持(PHP、.so)目录发展历程一个例子前端处理中间语言翻译运行时总结不问答例:新闻站点访问量和广告量统计执行步
2、骤读取日志数据选取出_Url、_Res(广告数)两列编写一个函数,从_Url中抽取出_Site用正则表达式过滤出新闻站点的数据按站点分组,每组做两件事:计算访问量将广告数求和输出数据,每行是一个JSON数据6例:DQuery代码读取日志数据选取出_Url、_Res(广告数)两列编写一个函数,从_Url中抽取出_Site用正则表达式过滤出新闻站点的数据按站点分组,每组做两件事:计算访问量将广告数求和输出数据,每行是一个JSON数据7处理阶段前端语中间语运行时言处理言翻译8目录发展历程一个例子前端处理中间语言翻译运行时总结不问答前端处理把用户编写的计算
3、逻辑翻译为便亍编译程序理解的中间码(语法树、数据流图)前端代码运行一遍,产生结果是中间码相当亍编译技术中的parser中间码用JSON表示10数据流图startReducestartLoadSelectcountsum“fields”:[“_Url”,“_Res”]Selectmerge“call”:“get_site”endFilter“expr”:[“_Site”,“match”,“/news.[^.]+.cn/”]StoreGroup“fileds”:[“_Site”]end中间码startReducestartLoadcountsumS
4、elect[Selectmerge{endFilter"cmd":"load",Store"path":nullGroupend"using":"SchemaReader""from":0"options":{"max_item_in_mem“:100000}"include":[25]},{"cmd":"filter"…},{"cmd":“group"…},……]SQL语言接口?[{"cmd":"load“,"path":null"using":"SchemaReader""from":0"options":{"max_item_in_mem“:
5、100000}"include":[25]},{"cmd":"filter"……},动作(生成中间码){"cmd":"join"……},…………]中间码语言定义(词法、语法分析)目录发展历程一个例子前端处理中间语言翻译运行时总结不问答中间语言翻译正规化算子替换优化•将数据流图变成完整的方•将实现复杂的算子等价替•对数据流图进行各种优化,便后续处理的数据流图换成多个简单算子使执行效率提高代码生成Schema推导、字段偏阶段划分(可选)•生成真正可执行的代码或移量推导•划分为多个MapReduce执数据流图•推导每一算子产出的表行阶段schema,以及
6、字段偏移量•不划分会生成单机程序15算子替换GroupUniqueShuffleMapPhaseReduceLimit1GroupCombineGroupCountShuffleShuffleReduceReduceCountSumReducePhase优化多种优化策略多仸务合并等价算子合并Combiner优化CachedCombiner优化同keyJoin合并优化公共子表达式提取……核心思想面向应用特点、减少作业轮数、减少I/O、减少重复计算优化举例大Group问题,shuffleI/O问题mapreducemapreducemapreduceC
7、ombinerMapPhaseGroupCombineGroupCountShuffleReduceShuffleCountReduceSumReducePhaseCombiner实现Map1Map2AA丌采用系统CombinerBC额外磁盘I/OCD编译到Mapper中实现BA内存中的hash字典ABCACD121211Reduce1A12O(mapper)个{A56A…A92B…高维诅咒group(array('_Site','_Rank','_Strategy',……))高维诅咒内存溢出CachedCombinerhotkeywarmkeyw
8、armkeycoolkeycoolkeycoolkeySchema推导、下标推导…………fieldIDnameagefie
此文档下载收益归作者所有