您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 互联网公司技术架构资料.百度.海量日志分析架构
百度日志分析技术分享陈晓鸣资深工程师百度基础架构部@陈晓鸣在百度chenxiaoming@baidu.comLOG中自有黄金屋日志分析基本过程百度日志分析成长历程深入LSP平台深入DISQL语言总结与问答LOG中自有黄金屋一条日志46.70.93.94--[11/Nov/2011:11:11:11-1100]GET/book/1984.html HTTP/1.1“404 2326 =1984&rsv_bp=0&rsv_spt=3&inputT=947Mozilla/5.0(iPad;U;CPUiPhoneOS3_2likeMacOSX;en-us)AppleWebKit/531.21.10(KHTML,likeGecko)Version/4.0.4Mobile/7B314Safari/531.21.10“了解用户——地域来源46.70.93.94--[11/Nov/2011:11:11:11-1100]GET/book/1984.htmlHTTP/1.14042326=1984&rsv_bp=0&rsv_spt=3&inputT=947Mozilla/5.0(iPad;U;CPUiPhoneOS3_2likeMacOSX;en-us)AppleWebKit/531.21.10(KHTML,likeGecko)Version/4.0.4Mobile/7B314Safari/531.21.10 “了解用户——跳转来源46.70.93.94--[11/Nov/2011:11:11:11-1100]GET/book/1984.htmlHTTP/1.14042326=1984&rsv_bp=0&rsv_spt=3&inputT=947Mozilla/5.0(iPad;U;CPUiPhoneOS3_2likeMacOSX;en-us)AppleWebKit/531.21.10(KHTML,likeGecko)Version/4.0.4Mobile/7B314Safari/531.21.10 “了解用户——使用终端46.70.93.94--[11/Nov/2011:11:11:11-1100]GET/book/1984.htmlHTTP/1.14042326=1984&rsv_bp=0&rsv_spt=3&inputT=947Mozilla/5.0(iPad;U;CPUiPhoneOS3_2likeMacOSX;en-us)AppleWebKit/531.21.10(KHTML,likeGecko)Version/4.0.4Mobile/7B314Safari/531.21.10了解自己——访问量46.70.93.94--[11/Nov/2011:11:11:11-1100]GET/book/1984.htmlHTTP/1.14042326=1984&rsv_bp=0&rsv_spt=3&inputT=947Mozilla/5.0(iPad;U;CPUiPhoneOS3_2likeMacOSX;en-us)AppleWebKit/531.21.10(KHTML,likeGecko)Version/4.0.4Mobile/7B314Safari/531.21.10了解自己——易用性46.70.93.94--[11/Nov/2011:11:11:11-1100]GET/book/1984.htmlHTTP/1.14042326=1984&rsv_bp=0&rsv_spt=3&inputT=947Mozilla/5.0(iPad;U;CPUiPhoneOS3_2likeMacOSX;en-us)AppleWebKit/531.21.10(KHTML,likeGecko)Version/4.0.4Mobile/7B314Safari/531.21.10了解自己——可用性46.70.93.94--[11/Nov/2011:11:11:11-1100]GET/book/1984.htmlHTTP/1.14042326=1984&rsv_bp=0&rsv_spt=3&inputT=947Mozilla/5.0(iPad;U;CPUiPhoneOS3_2likeMacOSX;en-us)AppleWebKit/531.21.10(KHTML,likeGecko)Version/4.0.4Mobile/7B314Safari/531.21.10目标——更好地服务目标——更好地赚钱LOG中自有黄金屋日志分析基本过程百度日志分析成长历程深入LSP平台深入DISQL语言总结与问答日志分析基本过程日志分析基本过程线上•提取•传输预处理•解析•过滤计算•预定义计算•Adhoc查询使用•报表•图表•回馈线上•……LOG中自有黄金屋日志分析基本过程百度日志分析成长历程深入LSP平台深入DISQL语言总结与问答百度日志分析成长历程使用人数一站式的日志分析服务B-S模式访问私有云统一管理、统一运维正在进行中…数据量的问题类SQL的描述式语言PHP+C混合运行时算子的分布式实现用户自定义函数支持(PHP、.so)全新的C++运行时C++自定义函数支持更多算子支持Schema推导支持大量的优化LOG中自有黄金屋日志分析基本过程百度日志分析成长历程深入LSP平台深入DISQL语言总结与问答深入LSP平台系统架构平台UI编辑模式简单模式21DQuery模式22复杂模式23LOG中自有黄金屋日志分析基本过程百度日志分析成长历程深入LSP平台深入DISQL语言总结与问答深入DISQL语言例:新闻站点访问量和广告量统计25执行步骤读取日志数据选取出_Url、_Res(广告数)两列编写一个函数,从_Url中抽取出_Site用正则表达式过滤出新闻站点的数据按站点分组,每组做两件事:计算访问量将广告数求和输出数据,每行是一个JSON数据例:DQuery代码26读取日志数据选取出_Url、_Res(广告数)两列编写一个函数,从_Url中抽取出_Site用正则表达式过滤出新闻站点的数据按站点分组,每组做两件事:计算访问量将广告数求和输出数据,每行是一个JSON数据PHP-CallbackC-callback几个特点用PHP表达的类SQL逻辑(非常简约)封装所有SQL算子的M/R分布式实现:分组、表连接、行列过滤、集合操作、输入输出格式转换通过连续函数调用表达DAG数据流自动翻译为一轮或多轮MapReduce也可翻译为单机计算或数据流图用逻辑顺序而非SQL顺序表达逻辑支持PHP自定义函数(简洁)支持C++自定义函数(同样简洁+高效)和C-RuntimeNEW!全自动高效内存管理(RAII+内存池)廉价对象复制(CopyOnWrite)字段操作翻译为数组操作,无字典查找(schema推导)C++的性能,PHP的开发代价!29处理阶段30前端语言处理中间语言翻译运行时前端处理把用户编写的计算逻辑翻译为便于编译程序理解的中间码(语法树、数据流图)前端代码运行一遍,产生结果是中间码相当于编译技术中的parser中间码用JSON表示[{cmd: load“,path:nullusing:SchemaReaderfrom:17options:{max_item_in_mem“: 100000}include:[25]},{cmd:filter……}, {cmd:join……},…… ……]31SQL语言接口?[{cmd: load“,path:nullusing:SchemaReaderfrom:17options:{max_item_in_mem“: 100000}include:[25]},{cmd:filter……}, {cmd:join……},…… ……]语言定义(词法、语法分析)动作(生成中间码)中间码中间语言处理对数据流图作多次等价变换正规化将数据流图变成完整的方便后续处理的数据流图算子替换将实现复杂的算子等价替换成多个简单算子优化对数据流图进行各种优化,使执行效率提高阶段划分(可选)划分为多个MapReduce执行阶段Schema推导、字段偏移量推导推导每一算子产出的表schema,以及字段偏移量代码生成(C++、PHP、DOT)生成真正可执行的代码33ReducePhaseMapPhase算子替换UniqueGroupShuffleReduceLimit1GroupShuffleReduceCountGroupShuffleReduceSumCombineCountSchema推导、下标推导fieldIDnameagetypeuint64stringint32index259fieldIDscoretypeuint64doubleIndex01FieldIDnameageScoreTypeUint64stringint32doubleIndex25910join优化多任务合并等价算子合并Combiner优化CachedCombiner优化同keyJoin合并优化公共子表达式提取核心思想减少作业轮数、减少I/O、减少重复计算数据流图生成代码生成PHPC++DOT单机/MapReduce运行时初始化一组数据处理处理一组中的一条数据记录(多次调用)结束一组数据处理classProcessorinit()process()fini()classSelectorinit()process()fini()classFilterinit()process()fini()classCounterinit()process()fini()classUserProcessorinit()process()fini()Processor模型——Pipes&Filter模式采用情况分析程序数量增长分析程序输入量程序类型4月1日10月27日增长增长百分比简单编辑354047611221+34.5%DQuery模式115333592206+191%复杂编辑156929631394+88.9%程序类型占比简单编辑24%DQuery模式43%复杂编辑33%LSP平台用户数量角色数量占比PM135247.4%RD117441.2%OP1906.66%其他1364.77%总数2852100%}67%LOG中自有黄金屋日志分析基本过程百度日志分析成长历程深入LSP平台深入DISQL语言总结与问答总结与问答总结与问答日志的价值了解用户●了解自己日志分析基本过程提取与传输●解析与过滤●计算●使用(报表、图表、回馈线上…)百度日志分析成长历程深入LSP平台平台架构●平台UI●三种编辑模式深入DISQL语言一个例子●几个特点●前端处理●中间语言翻译●运行时采用情况问题亦可通过微博(@陈晓鸣在百度)或邮箱(chenxiaoming@baidu.com)提问请关注HadoopinChina大会12月2日2时20分:《DISQL2.0》我们还有很多非常有挑战、非常有用、非常好玩的问题急需解决……如果你恰好也喜欢解决这些问题……请发邮件到chenxiaoming@baidu.com加入百度,让我们一起来把它们解决!
本文标题:互联网公司技术架构资料.百度.海量日志分析架构
链接地址:https://www.777doc.com/doc-4374971 .html