Kyligence AI 服务 - 让大模型完成准确、可靠的数值计算和回答! 立即了解更多

Spark Summit 在旧金山召开,Kyligence 分享 Spark 对 Kylin 的改进及提升

2017 年 6 月 5 日 - 7 日,由 Databricks 举办的 Spark Summit 2017 在旧金山顺利召开。历时三天的会议,吸引了全球 3000 多名开发人员、科学家、分析师、企业高管等,以及来自 Intel、红帽、Facebook、Netflix 等企业的技术专家前往参加,并就数据科学、机器学习和流式媒体在内的 170 多个课程和 10 个主题会场进行了交流与探讨。

Spark Summit 是全球最大的 Apache Spark 社区活动,Apache Spark 拥有来自 250 多个组织的超过 1000 位贡献者,是大数据中最大的开源社区。自 2013 年首次举办以来,吸引全球各地的大数据关注者、从业者涌入 Spark Summit,以更好地探讨最新的 Spark 发展动态及产品应用和技术实践——无论是 Spark 发展前沿、Spark 优化技巧,还是各种规模上的 Spark 部署。

此次旧金山 Spark Summit,Databricks 发布了 Deep Learning Pipelines,这是一个可以轻松地将深度学习框架与 Spark 相结合的类库。Databricks 联合创始人兼 CTO Matei Zaharia 等人在演讲中介绍,深度学习具有巨大发展潜力,但现阶段仍处于使用低 Level 的 API 阶段,Spark 接下来将着重发展更易用的 Machine Learning,实现“高 Level 的易用 API,且兼容 Tensorflow 等流行开源引擎”目标。此次推出 Deep Learning Pipelines 便旨在降低复杂的深度学习。

除了深度学习,流式数据处理也成为大会的另一大重要议题。未来,Spark 将打造更完善、高吞吐、低延时的 streaming process,用以支持流式数据处理。Matei Zaharia 在会上透露,Spark 2.2 发布的新 streaming Api: StructStreaming,拥有高 Level API、Event-time,支持端到端的不重不丢等特性。Spark 2.2 版本将最终从接近实时的数据流传输到真实的数据流传输。

Databricks 还在其 Unified Analytics Platform 上发布了称之为 Serverless Platform 的新特性,该特性可以节省开发者花费在集群管理上的时间,并提高集群的资源利用率以降低成本。

Kyligence CEO & 联合创始人韩卿,及 Kyligence 架构师史少锋,在峰会上以《Apache Kylin: Speed up Cubing with Spark》为题,分享了 Apache Kylin 将 Cube 构建过程迁移到 Spark 上来加速预计算的过程。

Kylin 自最初起就开始使用 MapReduce 构建 cube,MapReduce 逐层生成 layer cubing 的构建方式较为稳定,但在性能方面却有待提升,例如每一层数据都需要通过 HDFS 来保存和共享,造成对集群的大量 I/O 操作,因此构建时间不理想;此外,MapReduce 存在不支持流处理、不支持各种非 HDFS 存储等缺陷,这些都限制了 Kylin 的使用场景。

为了解决以上问题, Apache Kylin 的 2.0 新版本推出了基于 Spark 的 Cube 构建引擎。Spark 引擎利用 RDD 来描述每层 Cuboid,利用内存来缓存每一层的 Cuboid,当下一层的 Cuboid 被计算出后,再将上一层 RDD 写入 HDFS 并从内存中清除,从而减少了对磁盘和网络的反复读写。

通过针对美国交通部公布的过去 30 年的航班准点率数据的构建测试,很好地展现了 Spark 引擎带来的构建效率的提升。测试中,在同一环境下,对一个 10 维度的 Cube,分别在 300 万、5000 万和 1 亿 6000 万行数据量集上去比较 MapReduce 和 Spark 的构建所耗时间。可以看到,当数据量在 300 万和 5000 万行的时候,Spark 的构建时间是 MapReduce 的 50% 和 40%;当数据量达到 1 亿 6000 万行时,由于 Cube 的膨胀导致 Spark 开始将数据写入磁盘,即便这样它也只使用相比于 MR 的 60% 的时间。

总体而言,Kylin 使用 Spark 构建引擎后,Cube 构建的性能提升一倍左右,这意味着构建时间减半;同时,Spark 提供了比 MapReduce 更加丰富灵活的操作,使得 Kylin 的开发效率比以前大大提高;此外,应用 Spark 技术也将进一步扩大 Kylin 的应用场景,例如支持即席查询、实时 OLAP 以及在云平台上更加灵活地与整合各大云平台的合作等。

添加企微

kyligence
关注我们

kyligence