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

本文涉及的产品
EMR Serverless StarRocks,5000CU*H 48000GB*H
EMR Serverless Spark 免费试用,1000 CU*H 有效期3个月
简介: 数据湖 JindoFS+OSS 实操干货 36讲 每周二16点准时直播! 扫文章底部二维码入钉群,线上准时观看~ Github链接: https://github.com/aliyun/alibabacloud-jindofs

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


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

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


内容框架:

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


直播回放链接:(20讲)

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

一、ORC 简介

ORC:Hadoop 生态的列存系统      

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

image.png

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

image.png

三、性能对比

Spark 性能对比 – 配置

image.png

Spark 性能对比 – 结果

  • 端到端总时间缩短23.6%

image.png

四、演示


  • 配置 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 相关技术问题,欢迎扫码加入钉钉交流群!

69c0a02cc68742fca5d49d92413dc67a.png

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
打赏
0
0
0
0
1336
分享
相关文章
【专栏】在数字化时代,数据仓库和数据湖成为企业管理数据的关键工具
【4月更文挑战第27天】在数字化时代,数据仓库和数据湖成为企业管理数据的关键工具。数据仓库是经过规范化处理的结构化数据集合,适合支持已知业务需求;而数据湖存储原始多类型数据,提供数据分析灵活性。数据仓库常用于企业决策、财务分析,而数据湖适用于大数据分析、机器学习和物联网数据处理。企业需根据自身需求选择合适的数据存储方式,以挖掘数据价值并提升竞争力。理解两者异同对企业的数字化转型至关重要。
169 2
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
104 1
耳朵经济快速增长背后,喜马拉雅数据价值如何释放 | 创新场景
喜马拉雅和阿里云的合作,正走在整个互联网行业的最前沿,在新的数据底座之上,喜马拉雅的AI、大数据应用也将大放光彩。本文摘自《云栖战略参考》
47004 5
耳朵经济快速增长背后,喜马拉雅数据价值如何释放 | 创新场景
MaxCompute操作报错合集之使用Spark查询时函数找不到的原因是什么
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
实时计算 Flink版产品使用问题之使用Spark ThriftServer查询同步到Hudi的数据时,如何实时查看数据变化
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
阿里云EMR数据湖文件系统问题之JindoFS数据孤岛的问题如何解决
阿里云EMR数据湖文件系统问题之JindoFS数据孤岛的问题如何解决
【获奖名单公示】Hologres实时湖仓分析挑战赛
5分钟快速使用Hologres实时湖仓能力,无需移动数据,直接加速读取存储于数据湖OSS上的Hudi、Delta、Paimon等格式类型的数据
【获奖名单公示】Hologres实时湖仓分析挑战赛
【云原生企业级数据湖:打破数据孤岛,优化存储成本】
【云原生企业级数据湖:打破数据孤岛,优化存储成本】 随着大数据时代的到来,企业对于数据的处理和存储需求日益增长。如何有效地存储和管理大量数据,同时降低运维成本,成为了企业面临的一大挑战。盛通教育的云原生企业级数据湖方案,正是为了解决这一问题而设计的。
244 1
什么是数据管理,数据治理,数据中心,数据中台,数据湖?
什么是数据管理,数据治理,数据中心,数据中台,数据湖?
308 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等