摘要: 本论坛第一次聚集阿里Hadoop、Spark、Hbase、Jtorm各领域的技术专家,讲述Hadoop生态的过去现在未来及阿里在Hadoop大生态领域的实践与探索。

开源大数据技术专场下午场在阿里技术专家封神的主持下开始,参与分享的嘉宾有Spark Commiter、来自Databriks的范文臣,HDFS committer、Intel 研发经理郑锴,逸晗网络科技大数据平台负责人杨智,Intel技术专家毛玮,以及阿里云技术专家木艮。
 
Databricks范文臣:Deep Dive Into Catalyst——Apache Spark 2.0's Optimizer
 
在本次演讲中范文臣首先重点介绍了Catalyst。在Spark中,DataSet以及DataFrame均依赖于Catalyst,Catalyst不仅是SQL的解析引擎,还是Spark中的优化器。文臣先从最简单最基础的Spark RDD API实例以及解决方案讲起,逐步阐明如何通过最容易有效的方法来让程序自动地进行优化,即通过优化器来自动地找到用户程序中最有效的执行计划,最后引出了Catalyst优化器:
 
 
Catalyst介于Spark RDD和SQL、DataFrame、DataSet之间,优化原始的查询计划,可将其看成为树状的表达式结构,可以将表达式、逻辑计划以及物理计划进行相应的转换:
 
不改变树的类型的转换:Expression => Expression;Logical Plan => Logical Plan;Physical Plan => Physical Plan。将一种树转换为另一种:Logical Plan => Physical Plan从而可以清晰地看到Catalyst一整套规则:
 
 
最后,范文臣还是希望在Spark 2.0的环境下,开发者可以使用更高级的API(SQL,DataFrame以及DataSet),而Catalyst作为底层的优化器,会继续为程序提供更加自动、有效的优化。
 
Intel研发经理郑锴:海量数据分布式存储——Apache HDFS之最新进展
 
郑锴首先给对大数据发展趋势进行了分享,包括:(1)存储和处理的数据量越来越大;(2)处理速度的期望越来越高;(3)存储的场景更复杂、更丰富;(4)存储越来越廉价,速度越来越快;(5)网络宽带也越来越高;(6)存储和计算分离,大数据加速向云端迁移。在此基础上,对HDFS存储的演化进行了分享,包括:
 
(1)HDFS Cache支持:
 
 

(2)HDFS HSM多层次存储体系:

 
 
(3)HDFS 纠删码的支持:
 
 
在演讲的最后,对HDFS的未来技术发展进行了展望,对目前HDFS面临的问题挑战进行了分析,他认为未来HDFS的发展方向包括:(1)智能存储管理(Smart Storage Management,SSM ),提供端到端的全面的智能存储解决方案,完整地收集集群的存储和数据访问统计,简化地、智能地和全面地及时感知集群存储状态变化并作出存储策略调整,未来Kafka将引入到Hadoop当中,作为基础服务(KafkaService):
 
 
(2)对象存储(Object Storage),Hadoop正在演化成为一个更为通用的平台,甚至支持传统的服务和应用,未来会支持对象存储,因为对象存储是一个流行的趋势,包括S3、AXURE、AliYun等目前都支持对象存储:
 
 
(3)存储在云端:提供统一的Hadoop文件系统和API,包括S3、AXURE、AliYun上的存储支持,同时支持快速弹性的HDFS缓存层。
 
 
梨视频大数据负责人杨智:基于E-MapReduce梨视频推荐系统
 
杨智首先对基于Logtail和阿里云的Logstore日志收集处理流程进行介绍,对数据如何保存在阿里云的OSS上进行永久备份保存、如何通过EMR中的Spark Streaming实时消费Logstore中的日志进行了详细介绍。
 
在此基础上,详细介绍了如何以EMR为中心,构建符合公司实际情况的大数据处理中心,对产品中的基础数据进入EMR,并依托于EMR进行任务管理、数据存储的逻辑及数据分层框架进行了详细介绍。
 
 
随后,分享了梨视频推荐系统的整体概貌:
 
 
对Online的招回和排序、Near Online实时反馈系统、Offline用户兴趣画像、基础排序模型中的内容质量评估及推荐的整体流程都进行了详尽的介绍。为其它企业基于EMR构建一套数据处理系统和推荐系统提供了重要的案例参考。
 
阿里云技术专家毛玮:分布式流处理框架——功能对比和性能评估
 
毛玮给大家分享了主流的分布式流处理架构Spark Streaming、Storm、Storm Trident、Flink、Apache Gearpump及Heron的功能差异及性能评估情况。
 
首先介绍了六个框架之间执行模型(Execution Model)和容错机制(Fault Tolerance Mechanism)方面的差异,分别就各大框架间的具体容错方法、延迟性(Latency)、送达保证(Delivery Guarantee)、本地状态操作(Native State Operator)及动态负载均衡和恢复速度(Dynamic Load Balance & Recovery Speed)等方面进行了比较。
 
 
然后对各大框架的API的特点进行了比较,详细介绍了Storm、Gearpump、Heron 组合式(Compositional) API特点,Spark、 Storm Trident、Flink及Gearpump声明式(Declarative)API特点,Spark、Storm及Heron基于Python的统计式(Statistical)API特点,Spark及Flink的SQL API特点,并对各框架支持的API类型进行了详细总结:
 
 
随后,对各框架间的运行时模型进行了详细介绍,然后就各框架在窗口操作(Window Operation)、无序处理(Out-of-Order Processing)、内存管理(Memory Management)、资源管理(Resource Management)、Web UI及社区成熟度(Community Maturity)等方面进行了详细比较,最后对各框架间的性能进行了比较,并就实际使用场景给出了框架造型参考。
 
阿里云技术专家余根茂:Hadoop存储与计算分离实践 
 
阿里云E-MapReduce团队的专家余根茂首先讲解了传统集群部署的实践,提到计算能力与存储能力的加成是集群所提供的能力。由于本地磁盘比网络传输快以及任务处理中数据获取开销大,他又强调了数据的本地性,因为计算会找数据,必须以数据为中心。
 
理想中的集群,会有更少的数据迁移和更高的资源利用率,但现实是带宽逐渐不是稀缺资源,磁盘不再是承载计算的主战场,集群的木桶效应会逐渐导致集群资源的浪费:
 
 

随后他提到了阿里云上的集群混合部署带来的新的挑战:1,冷数据不断积累,存储成本比较高;2,存储质量下降;3,数据Balance代价上升,集群维护成本也升高;4,数据服务性的要求越来越高。

 
 
而替代的方案是什么呢?余根茂提到了Hadoop+OSS的模式:
 
 
通过对场景的不断优化,不断地提升性能和稳定性,而今年9月份EMR-Core 1.2.0 支持的MetaService,使安全和易用性进一步增强,Hadoop也对OSS小文件和数据仓库做了针对性的优化,使其在读写的性能上表现不俗,几乎与HDFS相当,同时Hadoop+OSS的价格又低于传统的Hadoop+HDFS,只有合理组合才能带来性能和成本的双赢。E-MapReduce整体架构如下:
 
 
最后,余根茂强调了阿里云的E-MapReduce可为用户提供一站式大数据处理分析服务。

开源大数据技术专场(下午):Databircks、Intel、阿里、梨视频的技术实践的更多相关文章

  1. 开源大数据生态下的 Flink 应用实践

    过去十年,面向整个数字时代的关键技术接踵而至,从被人们接受,到开始步入应用.大数据与计算作为时代的关键词已被广泛认知,算力的重要性日渐凸显并发展成为企业新的增长点.Apache Flink(以下简称 ...

  2. 开源大数据技术专场(上午):Spark、HBase、JStorm应用与实践

    16日上午9点,2016云栖大会“开源大数据技术专场” (全天)在阿里云技术专家封神的主持下开启.通过封神了解到,在上午的专场中,阿里云高级技术专家无谓.阿里云技术专家封神.阿里巴巴中间件技术部高级技 ...

  3. TOP100summit:【分享实录-WalmartLabs】利用开源大数据技术构建WMX广告效益分析平台

    本篇文章内容来自2016年TOP100summitWalmartLabs实验室广告平台首席工程师.架构师粟迪夫的案例分享. 编辑:Cynthia 粟迪夫:WalmartLabs实验室广告平台首席工程师 ...

  4. 开源大数据引擎:Greenplum 数据库架构分析

    Greenplum 数据库是最先进的分布式开源数据库技术,主要用来处理大规模的数据分析任务,包括数据仓库.商务智能(OLAP)和数据挖掘等.自2015年10月正式开源以来,受到国内外业内人士的广泛关注 ...

  5. 思迈特软件Smartbi:利用大数据为产业赋能,且看这家风电巨头的实践之路!

    随着大数据技术成为各行各业转型升级的"新动能",数字化风电.智慧风电场也成为风电行业的高频词,大数据已经逐渐被用于风场从测风到运维的各个环节. Smartbi的某客户是国内风电装备 ...

  6. 构建AR视频空间大数据平台(物联网及工业互联网、视频、AI场景识别)

    目       录 1.      应用背景... 2 2.      系统框架... 2 3.      AI场景识别算法和硬件... 3 4.      AR视频空间管理系统... 5 5.    ...

  7. 零基础学习云计算及大数据DBA集群架构师【企业级运维技术及实践项目2015年1月29日周五】

    LNMP/LEMP项目搭建 { 项目框架 # Linux_____WEB_____PHP_____DB # rhel7_____apache__-(libphp5.so)-__php__-(php-m ...

  8. Hadoop大数据学习视频教程 大数据hadoop运维之hadoop快速入门视频课程

    Hadoop是一个能够对大量数据进行分布式处理的软件框架. Hadoop 以一种可靠.高效.可伸缩的方式进行数据处理适用人群有一定Java基础的学生或工作者课程简介 Hadoop是一个能够对大量数据进 ...

  9. 零基础大数据入门教程:Java调用阿里云短信通道服务

    这里我们使用SpringBoot 来调用阿里通信的服务. 阿里通信,双11.收到短信,日发送达6亿条.保障力度非常高. 使用的步骤: 1.1. 第一步:需要开通账户 1.2. 第二步:阅读接口文档 1 ...

随机推荐

  1. SYS.AUD$无法扩容导致无法登录的问题

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/bisal/article/details/19068663 昨天同事说有个测试库无法登录了,用PLS ...

  2. win7下安装配置ftp服务器

    1. win7操作系统自带了ftp组件,所以不需要另外下载.只需要在控制面板中,添加或删除组件中启用即可. 2. 在管理上,ftp和iis是属于同一个目录的.ftp也可以算是internet info ...

  3. 《Windows核心编程》第九章——用内核对象进行线程同步

    先举一个有bug的例子: #include <iostream> #include <windows.h> #include <process.h> using n ...

  4. python3 urllib.request 网络请求操作

    python3 urllib.request 网络请求操作 基本的网络请求示例 ''' Created on 2014年4月22日 @author: dev.keke@gmail.com ''' im ...

  5. 在JSP中应用JavaBean

    1. 解决中文乱码的JavaBean 在JSP页面中,处理中文字符经常会出现字符乱码的现象,特别是通过表单传递中文数据时容易产生.它的解决办法有很多,如将request的字符集指定为中文字符集,编写J ...

  6. MySQL中的模糊查询和通配符转义

    MySQL中实现模糊查询有2种方式:一是用LIKE/NOT LIKE,二是用REGEXP/NOT REGEXP(或RLIKE/NOT RLIKE,它们是同义词). 第一种是标准的SQL模式匹配.它有2 ...

  7. iOS:UIScrollView控件和UIPageControl控件的详解

    UIScrollView滚动视图控件和UIPageControl分页视图控件:    UIScrollView用于显示多于一个屏幕的内容,超出屏幕范围的内容可以通过滑动进行查看,当然UIPagecon ...

  8. Informatica 常用组件Source Qualifier之九 创建SQ转换

    可以配置 Designer 在您将源拖到映射中时默认创建源限定符转换,您也可以手动创建源限定符转换. 默认创建源限定符转换 可以配置 Designer 在您将源拖到映射中时自动创建一个源限定符转换. ...

  9. Minimum Depth of Binary Tree leetcode java

    题目: Given a binary tree, find its minimum depth. The minimum depth is the number of nodes along the ...

  10. Search in Rotated Sorted Array leetcode java

    题目: Suppose a sorted array is rotated at some pivot unknown to you beforehand. (i.e., 0 1 2 4 5 6 7 ...