数据湖实操讲解【 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
1393
分享
相关文章
kde
|
4天前
|
Docker镜像加速指南:手把手教你配置国内镜像源
配置国内镜像源可大幅提升 Docker 拉取速度,解决访问 Docker Hub 缓慢问题。本文详解 Linux、Docker Desktop 配置方法,并提供测速对比与常见问题解答,附最新可用镜像源列表,助力高效开发部署。
kde
2809 7
国内如何安装和使用 Claude Code镜像教程 - Windows 用户篇
国内如何安装和使用 Claude Code镜像教程 - Windows 用户篇
531 0
Dify MCP 保姆级教程来了!
大语言模型,例如 DeepSeek,如果不能联网、不能操作外部工具,只能是聊天机器人。除了聊天没什么可做的。
773 7
2025年最新版最细致Maven安装与配置指南(任何版本都可以依据本文章配置)
本文详细介绍了Maven的项目管理工具特性、安装步骤和配置方法。主要内容包括: Maven概述:解释Maven作为基于POM的构建工具,具备依赖管理、构建生命周期和仓库管理等功能。 安装步骤: 从官网下载最新版本 解压到指定目录 创建本地仓库文件夹 关键配置: 修改settings.xml文件 配置阿里云和清华大学镜像仓库以加速依赖下载 设置本地仓库路径 附加说明:包含详细的配置示例和截图指导,适用于各种操作系统环境。 本文提供了完整的Maven安装和配置
2025年最新版最细致Maven安装与配置指南(任何版本都可以依据本文章配置)
【保姆级图文详解】大模型、Spring AI编程调用大模型
【保姆级图文详解】大模型、Spring AI编程调用大模型
305 7
【保姆级图文详解】大模型、Spring AI编程调用大模型
Excel数据治理新思路:引入智能体实现自动纠错【Python+Agent】
本文介绍如何利用智能体与Python代码批量处理Excel中的脏数据,解决人工录入导致的格式混乱、逻辑错误等问题。通过构建具备数据校验、异常标记及自动修正功能的系统,将数小时的人工核查任务缩短至分钟级,大幅提升数据一致性和办公效率。
DeepSeek R1+Open WebUI实现本地知识库的搭建和局域网访问
本文介绍了使用 DeepSeek R1 和 Open WebUI 搭建本地知识库的详细步骤与注意事项,涵盖核心组件介绍、硬件与软件准备、模型部署、知识库构建及问答功能实现等内容,适用于本地文档存储、向量化与检索增强生成(RAG)场景的应用开发。
350 0
让AI时代的卓越架构触手可及,阿里云技术解决方案开放免费试用
阿里云推出基于场景的解决方案免费试用活动,新老用户均可领取100点试用点,完成部署还可再领最高100点,相当于一年可获得最高200元云资源。覆盖AI、大数据、互联网应用开发等多个领域,支持热门场景如DeepSeek部署、模型微调等,助力企业和开发者快速验证方案并上云。
295 22
让AI时代的卓越架构触手可及,阿里云技术解决方案开放免费试用
FLUX.1 Kontext 的全生态教程来啦!AIGC专区在线试玩!
Flux.1 Kontext [dev] 开源模型大家都用上了吗?小编汇总了3个使用教程,打包送上!
398 1
AI助理

你好,我是AI助理

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

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问