1、京东商城 马恩驰2015年5月北京 第八届中国R语言会议基于开源框架的推荐搜索BI系统目录 CONTENTl 推荐搜索BI概述l系统架构l核心模块剖析lR与python的应用京东搜索与推荐主要产品搜索框属性筛选区推荐:首页猜你喜欢推荐:过渡页购买还购买 推荐:最佳组合 推荐:微信-秒杀手机APP-猜你喜欢换推荐产品生态用户购物决策首页列表页单品页过渡页购物车页订单完成页个性化推荐关联推荐个性化推荐关联推荐-搭配关联推荐-搭配活动推荐个性化推荐用户有购买“笔记本”的意愿推荐活动推荐相似推荐搭配推荐搭配推荐搭配推荐相似推荐笔记本活动推荐笔记本商品推荐笔记本商品推荐笔记本搭配商品推荐搭配商品推荐搭配
2、商品电商推荐搜索BI的差异性庞大的数据量对数据处理构成极大的挑战每日日志文件大小约200800G每周约10+实验,活动搜索、新算法实验等剔除异常流量对KPI的影响,PC、移动、微信端数据作弊流量、跨终端、离异点剔除等实验多,迭代速度快,场景复杂多样化ABtest大数据量中间逻辑复杂目录 CONTENTl推荐搜索BI概述l 系统架构l核心模块剖析lR与python的应用HDFSPC日志移动日志微信日志其他.KafKa日志清洗(streaming)请求日志搜索日志展示日志点击日志订单日志分析用 数据库(文件)报表数据库-mysql数据处理逻辑新指标定义汇总计算异常点剔除实时计算自动化报告(knit
3、r)BI 报表(Echarts)搜索推荐业务层报表层中间数据推荐搜索BI架构Hive+R+pythonpythonR+php+javascriptSpark搜索与推荐BI数据维度推荐业务总体概况KPI走势基准线对比维度洞察实验、推荐位商品分类用户分析流量来源时段、地域等实时监控时段覆盖情况时段点击率实验对比实验级多维度对比数据源监控原始日志情况基础表情况关键词分析目录 CONTENTl推荐搜索BI概述l系统架构l 核心模块剖析lR与python的应用基于Streaming框架的原始日志校验$HADOOP_HOME/contrib/streaming/hadoop-*-streaming.jar
4、 optionsoptions:(1)-input:输入文件路径(2)-output:输出文件路径(3)-mapper:mapper程序,可以是可执行文件或者脚本(4)-reducer:reducer程序,可以是可执行文件或者脚本(5)-file:打包文件到提交的作业中,可以是mapper或者reducer要用的输入文件,如配置文件,字典等。(把本地文件分发到集群)(6)-partitioner:用户自定义的partitioner程序(7)-combiner:用户自定义的combiner程序(必须用java实现)(8)-D:作业的一些属性(见下页)数据流示意:cat intput_file|m
5、apper|sort|reducer output_file对原始日志的校验主要包括日志中字段的有效性,日志是否被篡改等内容。基于python的灵活配置、指标维度自由扩展revenue index=revenue addDim=user,utmSource,logtypeuserutmSourcecategorylogtypeXXXrevenuerevenuerevenue可配置主题、图表的自动化实验报告日期对比实验输入参数主题图表实验分析报告代码片段:目录 CONTENTl推荐搜索BI概述l系统架构l核心模块剖析l R与python的应用Python的应用1.日志清洗(字段规则有效性、逻辑验证);2.配置管理;3.操作hive(thrift);4.文本处理(搜索关键词);5.数据IO;6.监控报警;R的应用1.自动化分析报告;2.图表(ggplot2);3.中间环节数据处理与变换;4.建模;R vs.python(pandas)thanks