数据湖实操讲解【 JindoTable 计算加速】第二十讲:Spark 对 OSS 上的 ORC 数据进行查询加速

本期导读 :【JindoTable 计算加速】第二十讲


主题:Spark 对 OSS 上的 ORC 数据进行查询加速uid + JindoFSOSS 上数据进行训练加速

讲师:健身,阿里巴巴计算平台事业部 EMR 技术专家


内容框架:

  • ORC 简介
  • JindoFS 列存加速
  • 性能对比
  • 演示


直播回放链接:(20讲)

https://developer.aliyun.com/live/247100

一、ORC 简介

ORC:Hadoop 生态的列存系统      

  • 来自 Hive 的列式存储
  • 支持列裁剪
  • 包含类型信息,自描述
  • 支持 Encoding/压缩

数据湖实操讲解【 JindoTable 计算加速】第二十讲:Spark 对 OSS 上的 ORC 数据进行查询加速

Spark 与 ORC

  • Spark Hive 表

• CREATE TABLE tablename … STORED AS ORC;

• 使用 Hive ORC

• spark.sql.hive.convertMetastoreOrc

  • Spark Datasource 表

• CREATE TABLE tablename … USING ORC;

使用Apache ORC


二、JindoFS 列存加速

痛点

  • 对象存储水平扩展能力强,但请求延时高
  • 本地盘/云盘带宽有限,中间数据越少越好
  • IO 需要与 shuffle 数据竞争网络资源
  • 计算越快越好


JindoFS 列存加速

  • JindoTable Native Engine

高速读取

• 查询计划下推(高速计算)

• 表/分区/列级别的数据缓存,消除带宽瓶颈和性能波动

  • 支持 JindoFS/OSS
  • 支持 ORC / Parquet 格式
  • 高效的预计算(规划)
  • 可插拔,兼容开源

用法

  • 命令行参数

• --conf spark.sql.extensions=com.aliyun.emr.sql.JindoTableExtension

  • 配置到 spark-defaults

• spark.sql.extensions       com.aliyun.emr.sql.JindoTableExtension

  • Spark Hive 表需要确保 spark.sql.hive.convertMetastoreOrc = true
  • EMR-3.35/4.9/5.2 之后的版本

加速原理

  • Native Engine 直接把数据排在内存*上层引擎使用
  • Spark 通过 Unsafe 直接访问数据,无需拷贝数据
  • Native Engine 异步读取文件

• 数据读取不等待上层引擎消费,性能更高

  • 高并发

• 文件级别并发

• 列级别并发

  • Native 实现算子
  • 相比 Java 性能更优

加速架构

  • 一套 Native Engine 支持不同引擎
  • AliORC 提供 ORC 支持
  • Native Engine 运行在 executor/Presto Worker 中(客户端)

数据湖实操讲解【 JindoTable 计算加速】第二十讲:Spark 对 OSS 上的 ORC 数据进行查询加速

三、性能对比

Spark 性能对比 – 配置

数据湖实操讲解【 JindoTable 计算加速】第二十讲:Spark 对 OSS 上的 ORC 数据进行查询加速

Spark 性能对比 – 结果

  • 端到端总时间缩短23.6%

数据湖实操讲解【 JindoTable 计算加速】第二十讲:Spark 对 OSS 上的 ORC 数据进行查询加速

四、演示


  • 配置 Spark
  • 读取鸢尾花数据集以 ORC 格式写入 OSS 路径
  • 从 OSS 查询鸢尾花数据集


相关文档链接:

  • Jindodata 相关文档:

https://github.com/aliyun/alibabacloud-jindodata

  • 计算加速使用文档:

https://help.aliyun.com/document_detail/213329.html




点击回放链接,直接观看第20讲视频回放,获取讲师实例讲解:

   https://developer.aliyun.com/live/247100




Github链接:

https://github.com/aliyun/alibabacloud-jindofs


不错过每次直播信息、探讨更多数据湖 JindoFS+OSS 相关技术问题,欢迎扫码加入钉钉交流群!

数据湖实操讲解【 JindoTable 计算加速】第二十讲:Spark 对 OSS 上的 ORC 数据进行查询加速

上一篇:首届!E-MapReduce 极客挑战赛强势来袭,重磅奖项等你拿,快来组队报名啦


下一篇:【详谈 Delta Lake 】系列技术专题 之 客户用例( Customer Use Case)