11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

Hadoop Summit 2016 会场回顾(最终篇)

  • 2016-04-26
  • 本文字数:1448 字

    阅读完需:约 5 分钟

2016 年 4 月 13 日,都柏林的 Liffey 河畔,Hadoop Summit 2016 在 Convention 会展中心盛大开幕。大会主要议程历时 2 天,有 100 多场演讲,与会者超过 1400 人。本文就 Apache Kylin 在大会上的内容做一个简单回顾。

The Evolution of Apache Kylin: Realtime and Plugin Architecture

Kylin 是目前唯一的由国人主创的 Apache 顶级开源项目。前身来自 eBay 中国卓越实验中心,后来开源并在 2014 年 11 月成为 Apache 顶级项目。Kylin 定位在超大数据的高速 OLAP,提供友善的 SQL、JDBC、ODBC、Rest API 接口,能在千亿数据集上稳定地完成秒级别查询。Kylin 在 eBay 和中国移动都有上千亿规模的用例,由 eBay 提供的数据显示,Kylin 秒级查询不只是针对个别 SQL,而是对上万种不同 SQL 的平均表现,生产环境下 90%ile 查询在 3 秒内返回。Kylin 优异的性能主要来自其独特的 Cube 预计算技术,在离线时预计算复杂的连接和聚合,从而大大减少在线查询的计算量,达到提速的效果。这是 Kylin 与其他大数据分析技术的关键区别。

Kylin 的最新版本 1.5 有不少让人期待的新功能。可扩展架构将 Kylin 的三大依赖 (数据源、Cube 引擎、存储) 彻底解耦,开发者和用户可以进行深度定制,比如用 Kafka 代替 Hive 作数据源,用 Spark 代替 MapReduce 作计算引擎,用 Cassandra 代替 HBase 做存储,都将变得更为简单。这也保证了 Kylin 可以随平台技术一起演进,紧跟技术潮流。

Kylin 1.5 引入了新一代 MapReduce 计算引擎。其中加入了 Fast Cubing 算法,利用 Mapper 端计算先完成大部分聚合,再将聚合后的结果交给 Reducer,从而降低对网络瓶颈的压力。对 500 多个 Cube 任务的实验显示,引入了 Fast Cubing 后,总体的 Cube 构建提速 1.5 倍。另外还对 HBase 存储结构进行调整,将大的 Cuboid 分片存储,将线性扫描改良为并行扫描。对上万查询进行测试对比,分片的存储结构能够极大提速原本较慢的查询 5-10 倍,但对原本较快的查询提速不明显,综合起来平均提速为 2 倍左右。

流式 Cube 也是备受期待的功能。延续增量构建的思路,把时间间隔缩小到 5 分钟级别,从 Kafka 实时读取数据,这样 Kylin 上的数据延迟就可以缩短到分钟级别,实现准实时大数据分析。因为会产生非常多的小 Cube Segment,自动合并也需要加强。Kylin 会自动按定义好的时间间隔合并 Cube Segment,保证 Cube 不会过度碎片化,影响性能。流式 Cube 还在实验阶段,希望听取社区的反馈并持续改善。

Kylin 新版本还提供了自定义聚合函数的接口。在原本 HyperLogLog Count Distinct 的基础上新增了 TopN、BitMap Precise Count Distinct、Raw Records 三种特殊聚合函数,用户也可以自行扩展。这里有很大的想象空间,比如在时间线上聚合用户事件归纳访问模式,比如聚合用户画像,再比如数据点的簇分析,亦或数据柱状分布等等,都可以很容易的添加到 Kylin 上。

Kylin 的演讲在大会上颇引人注目。虽然时间靠后接近大会尾声,但会场几乎座无虚席,听众提问也相当踊跃,让人感受到社区的壮大和能量的汇集。相信 Kylin 在新的一年里一定会有更长足的发展。

作者介绍:李扬,Kyligence 联合创始人兼 CTO,Apache Kylin 联合创建者及项目管理委员会成员 (PMC), 主创团队架构师和技术负责人,专注于大数据分析,并行计算,数据索引,关系数学,近似算法,压缩算法等前沿技术。曾任 eBay 全球分析基础架构部大数据资深架构师、IBM InfoSphere BigInsights 的技术负责人,负责 Hadoop 开源产品架构,“杰出技术贡献奖”的获奖者、摩根士丹利副总裁,负责全球监管报表基础架构。

2016-04-26 02:001426

评论

发布
暂无评论
发现更多内容

你真的理解透彻高并发了吗?来看看架构师眼里的高并发

小谈

Java 面试 高并发 高并发系统设计

我是如何解决邮件焦虑的

vinkyqy

效率 职场 邮件

简直了!顶级架构师分享心得,如何在项目中兼容多种数据库

犬来八荒

Java MySQL 数据库 面试

饿了么4年,阿里2年:我的总结与思考

程序员生活志

工作经验

今天来聊聊如何挑书

封不羁

读书 个人感想

专科程序员与本科程序员之间有什么区别?薪资待遇又差多少?

码农月半

spring 程序员 面试

解读 java 并发队列 BlockingQueue

猿灯塔

Java

第四周

仪轩

六月我在工作中蜕变,勤奋小人打架终于赢了

程序员小跃

效率工具 加班 沟通 复盘

SQLite你用对了吗

山楂大卷

sqlite 数据库 选型

源码分析 | 数据异构Canal 初探

小新

Redis系列(五):你要的Redis集群搭建来了,实践与否你自己选!

z小赵

Java redis 分布式 高并发

程序员阿里、京东、美团面试整理的面试题,测试一下你都会了吗?

小谈

Java 阿里巴巴 面试

面试官:既然CPU有MESI,为什么 JMM 还需要volatile关键字?

犬来八荒

Java 面试 JVM 硬件

Android架构组件-App架构指南,你还不收藏嘛

小吴选手

架构 架构师 架构总结 架构要素 P7架构师

锦囊篇|一文摸懂SharedPreferences和MMKV(二)

ClericYi

架构师训练营 第 5 周作业

Lingjun

极客大学架构师训练营

1.2w字 | 初中级前端 JavaScript 自测清单 - 1

pingan8787

Java 大前端 Web

分布式缓存

Arthur

农产品电商平台的S曲线分析

石云升

增长 S型曲线 破局点

编程核心能力之组合

顿晓

Java 学习 pipe

如何搭建一个Zookeeper集群

Rayjun

大数据 zookeeper 分布式

【思考】互联网厂商争夺企业市场

superman

企业中台 互联网

深入理解编译优化之循环展开和粗化锁

程序那些事

JIT 编译优化 循环展开 粗化锁

面试细节: i = i++和 i = ++i

Java小咖秀

面试 JVM 经验分享

为什么建议项目中统一线程池类?

张挺

计算机操作系统基础(十一)---线程同步之互斥量

书旅

php laravel 线程 操作系统 进程

一个简单的技术选型心得

i风语

Java 架构

18个Java8日期处理的实践,太有用了建议收藏

码哥小胖

MySQL SQL语法 sql查询

cms项目系列(一)——SSM框架搭建

程序员的时光

spring

什么时候不要用微服务?以 Istio 为例

无予且行

Java 微服务 后端

Hadoop Summit 2016会场回顾(最终篇)_大数据_李扬_InfoQ精选文章