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

数据湖技术圈

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

主题:Spark 对 OSS 上的 ORC 数据进行查询加速

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

内容框架:

  • ORC 简介

  • JindoFS 列存加速

  • 性能对比 

  • 演示

直播回看链接:(20讲)

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

1

ORC 简介  

ORC:Hadoop 生态的列存系统      

  • 来自 Hive 的列式存储

  • 支持列裁剪

  • 包含类型信息,自描述

  • 支持 Encoding/压缩

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

2

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 中(客户端)

3

性能对比  

Spark 性能对比 – 配置

Spark 性能对比 – 结果

  • 端到端总时间缩短23.6%

4

演示  

演示

  • 配置 Spark

  • 读取鸢尾花数据集以 ORC 格式写入 OSS 路径

  • 从 OSS 查询鸢尾花数据集

相关文档链接:

  • Jindodata 相关文档:
    https://github.com/aliyun/alibabacloud-jindodata

  • 计算加速使用文档:
    https://help.aliyun.com/document_detail/213329.html

点击文章下方阅读原文,直接观看第20讲视频回放,获取讲师实例讲解~


Github链接:

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


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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值