ArchSummit北京-《SQL-on-Hadoop方案在FreeWheel的实践》-林明

ArchSummit北京-《SQL-on-Hadoop方案在FreeWheel的实践》-林明

ID:8219459

大小:1.65 MB

页数:25页

时间:2018-03-10

ArchSummit北京-《SQL-on-Hadoop方案在FreeWheel的实践》-林明_第1页
ArchSummit北京-《SQL-on-Hadoop方案在FreeWheel的实践》-林明_第2页
ArchSummit北京-《SQL-on-Hadoop方案在FreeWheel的实践》-林明_第3页
ArchSummit北京-《SQL-on-Hadoop方案在FreeWheel的实践》-林明_第4页
ArchSummit北京-《SQL-on-Hadoop方案在FreeWheel的实践》-林明_第5页
资源描述:

《ArchSummit北京-《SQL-on-Hadoop方案在FreeWheel的实践》-林明》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、SQL-on-Hadoop在FreeWheel的实践FreeWheel数据平台部林明我们的业务广告销售广告结算广告执行•库存预测•广告创意管理•广告测量•投放预测•用户画像•业务报表•广告预案管理•受众定向•广告结算•广告订单管理•跨屏广告投放•合作伙伴分成•销售流程管理•广告投放优化•商业智能分析单日投放近10亿次广告,生成2TB广告投放数据Ad-hoc数据分析•应用场景–咨询团队分析客户业务–客户服务团队解决客户问题–工程师团队分析线上问题•业务需求–可以同时分析多个数据源–获取多维度和多时间跨度的分析结果–在几分钟甚至几秒内完

2、成SQL-on-Hadoop解决方案查询接口(SQL)MPP查询引擎连接器(Connector)存储(HDFS)候选方案•MPP查询引擎–Impala/Stinger/Drill/Hive/Presto等•存储格式–列组/ORC/Parquet等我们的选择•MPP查询引擎:Presto–非常快的查询速度–支持对不同的数据源进行join操作–方便二次开发•存储格式:Parquet–支持复杂的嵌套数据结构–高效的记录碎片化(shred)与装配(assembly)–高效的压缩–开发社区活跃Ad-hoc数据分析系统SQL查询接口Presto

3、查询引擎协调节点计算节点Parser/AnalLogicalDistributedNodeTaskyzerPlannerPlannerScheduler连接器分块管理器(splitmanager)记录游标(Recordcursor)元数据API翻译层数据块元数据缓存数据注入与存储匹配器(matcher)HDFS数据注入播放器广告管理器广告服务器请求request应答播放广告位ACK(slotimpression)AckACK(adimpression)AckACK(IABmetrics)Ack播放视频ACK(videoview)Ac

4、kACK(…)Ack广告请求与广告服务器交互示意图数据注入ProtobufRecordrequestAckAvroRecordAckMatchertransaction_idrequestAckAckAckAckAckAckParquetRecordAckHDFS数据存储•查询PatternSELECTc1,…FROMtransactionWHEREevent_date>=[start]andevent_date<[end]andnetwork_id=[id]•数据的目录组织结构连接器Presto查询引擎协调节点计算节点Parser

5、/AnalLogicalDistributedNodeTaskyzerPlannerPlannerScheduler数据块位置表/列元数据数据块元数据parquet记录连接器分块管理器(splitmanager)记录游标(Recordcursor)元数据API数据块信息翻译层数据块元数据缓存分块管理器(SplitManager)•将表分块由Presto协调节点(coordinator)分发到计算节点(worker)进行处理协调节点DistributedNodePlannerScheduler数据块数据块元数据位置分块管理器(spli

6、tmanager)parquet文件HDFS分块管理器(SplitManager)•将表分块由Presto协调节点(coordinator)分发到计算节点(worker)进行处理协调节点DistributedNodePlannerScheduler数据块数据块元数据位置数据块元数据分块管理器(splitmanager)HBase<文件,数据块元数据>parquet文件元数据加载HDFS(MetadataLoader)记录游标(RecordCursor)•读取parquet记录供Presto计算(worker)节点处理•结合Predi

7、catePushdown及ParquetFilter避免反序列化无关的records查询接口•表transaction{“request”:{“user_id”:“string”},“acks”:[{“event_type”:“string”,“event_name”:“string”}]}request.user_idacksuser_1[{“i”,“vv”},{“i”,“adImp”}]user_2[{"i”,“vv”},{“i”,“adImp”},{“I”,“adImp”}]user_3[“i”,“vv”]如何查询每个用户观看

8、广告的次数?•找出每个transaction包含的满足如下条件的ack的个数event_type=‘i’&&event_name=‘adImp’•尝试?SELECTrequest.user_id,count(1)FROMtransac

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。