返回 登录
0

【SDCC 2016】直击汤森路透、苏宁、京东、腾讯、Databricks的Spark实战技术分享|PPT下载

阅读34206

【CSDN现场报道】2016年11月18日-20日,由CSDN重磅打造的年终技术盛会——2016中国软件开发者大会(Software Developer Conference China 2016,简称SDCC 2016)在北京京都信苑饭店隆重举行。本届大会云集了100多位国内外顶尖专家和技术大牛,共设新趋势和新实践2大主题会场,14个技术专题。面向国内外的中高端技术人员,聚焦最前沿技术及一线的实践经验,助力企业的技术升级和改造、全面提升技术人员的综合实力。(PPT下载地址:http://download.csdn.net/meeting/meeting_detail/23

11月19日下午中国软件开发者大会上,由七牛云技术总监陈超出品的基于Spark的大数据系统设计专场,在汤森路透中国运营中心研发经理沈勇的主持下正式拉开帷幕,他和苏宁云商IT总部技术总监俞恺、京东商城数据挖掘工程师崔波、腾讯社交网络事业群工程师黄俊、Databricks软件工程师范文臣为大家带来了精彩的分享,议题涉及监控系统和广告跟踪系统中的Spark Streaming应用、金融大数据整合、Spark图计算、千亿社交网络研究、Spark SQL等内容。

图片描述
七牛云技术总监 陈超

图片描述
大会现场

汤森路透中国运营中心研发经理、研究员 沈勇:金融大数据整合之路

图片描述
汤森路透中国运营中心研发经理、研究员 沈勇

汤森路透中国运营中心研发经理、研究员沈勇发表《金融大数据整合之路》主题演讲。目前数据面临整合之困现状,存在大量的老旧数据库、复杂的信息模型、高难度的用户要求以及大数据还不完善等诸多问题。接下来从系统整体流程、数据标准化存储、文档增强、生成三元组、子图选取(谓词选取、类型选取、值相关的过滤)等概念进行分析。最后从运动的数据集至流式文档连接方面,即两个连接数据集,在运动数据集基础上动态关联这两个原始数据集整合kafka和Spark Streaming加入到数据集。如何在Spark基础上实现编程语言,就需要使用自助服务框架,然后调用分布式JSONiq查询引擎,使用ES做建立HBase外部索引,减少不必要的数据处理,基于花费的优化策略,估计HBase数据集的大小,最后运行生成JVM代码。至于数据获取和分发流程,首先从外部用Apache NiFi获取数据源,然后进行数据转化和分发,进行数据集合再开始数据转化和增强。

苏宁云商IT总部技术总监 俞恺:Spark Streaming在苏宁物流天眼全程监控系统中的应用

图片描述
苏宁云商IT总部技术总监 俞恺

苏宁云商IT总部-技术总监俞恺发表《Spark Streaming在苏宁物流天眼全程监控系统中的应用》主题演讲。首先分析天眼系统具体功能,旨在进行订单跟踪、作业异常捕获和报警、物流各环节作用监控和预警和资源计划编排和动态调整。那么物流天眼系统为何要选择Spark Streaming技术?主要原因是天眼系统实时性要求高,计算数据量大逻辑复杂、整合多个数据源以及稳定性和扩展性。而Spark Streaming适合实时数据与历史数据混合处理的场景,可以将流数据分成小的时间片段以类似批处理方式来处理数据。在实时性、可用性、扩展性和开发便捷性方面有绝对的优势。融合Spark Streaming技术的天眼模块划分为数据整合类(Spark Streaming数据整理和整合)和指标统计类(统计Spark Streaming指标)。将Spark Streaming整合到kafka中,Spark Streaming会记录每个RDD对应的offset,但是如果流处理异常停止则需要记录当前的offset,以便下次流启动时从当前位置继续处理。对于Spark Streaming性能调优,需要动态调整分片大小、避免数据倾斜。天眼系统整合Spark Streaming,HBASE,Kafka,Redis等技术实现了秒级数据延迟的物流全程监控。

京东商城数据挖掘工程师 崔波:Spark Streaming在京东广告跟踪系统里的应用

图片描述
京东商城数据挖掘工程师 崔波

京东商城数据挖掘工程师崔波发表《Spark Streaming在京东广告跟踪系统里的应用》主题演讲。京东广告跟踪系统主要目的是为了评估广告投放效果,具有分钟级延迟、所依赖用户行为日志巨量等特点,之前面临重度依赖redis+http+rpc等外部服务和技术栈+数据存储栈分化等挑战。广告系统分为四个模块:data input、persist queue、computing、storage。每批次遍历海量数据,有复杂join跟sort。Spark 2.0具有新的tungsen引擎、全阶段代码优化、Cache感知算法、更好的Parquet并行解析器等优势。在实践过程中,是一个批量处理系统,有反压与流控功能,可以根据流量反控读取速度,还有弹性扩展功能,能根据负载流量自动调整资源。但是Streaming代码逻辑并不符合直觉,有时候处理上一个批次的数据比较难,对于过度设计也未避免,导致过高的抽象度使得一些简单的操作很难,另外Spark存在潜在的bug,如jdbc的异常处理。对于以上的缺陷,可以调整一些默认的参数,不使用streaming本身的checkpoint功能,避免使用大窗口Dstream和不是用流控跟反压功能来进行设计取舍。可以引入alluxio,促使IO加速。在编程过程中,可以用到dataSet或dataFrame,崔波建议尽可能使用dataSet代替dataFrame。

腾讯社交网络事业群工程师 黄俊:使用Spark图计算研究QQ千亿社交网络

图片描述
腾讯社交网络事业群工程师 黄俊

腾讯社交网络事业群工程师黄俊《使用Spark图计算研究QQ千亿社交网络》主题演讲。面对腾讯千亿社交关系链,腾讯图计算面临关系链和节点关联计算比较慢以及常见图算法不容易实现等问题。下面将通过两个实例来解答上述问题。

  1. 统计用户和好友的共同好友个数,目的是为了刻画用户间关系紧密程度的基础指标。其难点在于中间数据膨胀,网络结构会引出数据倾斜。在这里采用的计算方案是统计邻居列表再关联回关系链计算用户间共同好友。未了控制中间数据膨胀,这里利用Spark GraphX图存储特性减少邻居表复制。这种方法可以节省节点属性的冗余存储, 但如果在计算过程中把网络分隔的过于分散, 导致一个节点所在的边几乎分散在每一台机器, 那么大部分的节点属性,都是需要经过网络传输来获得。这时收益将会大大减小。最好的情况是一个用户的所有节点都存放在一个机器上。而常见分布式系统会采用大量低配机器来组建集群, 在这个场景里这种方案将会不可避免的让边数据分隔的过于分散。因此专门构建了一个以大内存为计算单元的 Spark 计算集群。
  2. 六度分离理论:在共同好友的基础指标之外,宏观的社交如两个陌生人只需要5.7个中间人即可互相认识。此处采用了HyperANF算法来测量QQ社交网络平均距离。但是每个用户维护的通讯录的长度不断增加,到最后需要的存储无法想象,由此引入基于Spark计算的HyperLogLogPlus计数器。

Databricks软件工程师 范文臣:Spark SQL: A Complier from queries to RDD programs

图片描述
Databricks软件工程师 范文臣

Databricks软件工程师范文臣发表《Spark SQL: A Complier from queries to RDD programs》主题演讲。RDD具有三个特征,一是依赖二是分区三是计算函数。RDD是一个编程模型,让用户组装流程图。为了让 Spark 能处理结构化数据,Spark SQL应运而生。Spark SQL的结构化,让用户写代码更加简单,高效。不止是代码更少,跑的也更快。Spark SQL为Spark提供数据化处理能力。它的前端是一个模块,称之为Catalyst,可分为树和变化,树具体通过逻辑计划和物理计划来实现。范文臣通过代码实例剖析Spark SQL运行机制,其提供的DataFrame/Dataset接口,也已代替RDD成为Spark新一代的用户接口。

活动剪影

图片描述
参会者聚精会神

图片描述
参会者聚精会神

图片描述
参会者提问

图片描述
证书剪影

图片描述
大会现场


更多精彩内容,请关注图文直播专题:SDCC 2016中国软件开发者大会,微博:@CSDN研发频道,订阅 CSDN 官方微信公众号(ID:CSDNnews),即时获取大会动态。

评论