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

简介: 数据湖 JindoFS+OSS 实操干货 36讲 每周二16点准时直播! 扫文章底部二维码入钉群,线上准时观看~ Github链接: https://github.com/aliyun/alibabacloud-jindofs

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


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

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


内容框架:

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


直播回放链接:(20讲)

/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讲视频回放,获取讲师实例讲解:

   /live/247100




?Github链接:

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


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

69c0a02cc68742fca5d49d92413dc67a.png

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
6天前
|
SQL 分布式计算 关系型数据库
使用 Spark 抽取 MySQL 数据到 Hive 时某列字段值出现异常(字段错位)
在 MySQL 的 `order_info` 表中,包含 `order_id` 等5个字段,主要存储订单信息。执行按 `create_time` 降序的查询,显示了部分结果。在 Hive 中复制此表结构时,所有字段除 `order_id` 外设为 `string` 类型,并添加了 `etl_date` 分区字段。然而,由于使用逗号作为字段分隔符,当 `address` 字段含逗号时,数据写入 Hive 出现错位,导致 `create_time` 值变为中文字符串。问题解决方法包括更换字段分隔符或使用 Hive 默认分隔符 `\u0001`。此案例提醒在建表时需谨慎选择字段分隔符。
|
6天前
|
机器学习/深度学习 数据采集 分布式计算
【机器学习】Spark ML 对数据进行规范化预处理 StandardScaler 与向量拆分
标准化Scaler是数据预处理技术,用于将特征值映射到均值0、方差1的标准正态分布,以消除不同尺度特征的影响,提升模型稳定性和精度。Spark ML中的StandardScaler实现此功能,通过`.setInputCol`、`.setOutputCol`等方法配置并应用到DataFrame数据。示例展示了如何在Spark中使用StandardScaler进行数据规范化,包括创建SparkSession,构建DataFrame,使用VectorAssembler和StandardScaler,以及将向量拆分为列。规范化有助于降低特征重要性,提高模型训练速度和计算效率。
|
6天前
|
机器学习/深度学习 分布式计算 算法
【机器学习】Spark ML 对数据特征进行 One-Hot 编码
One-Hot 编码是机器学习中将离散特征转换为数值表示的方法,每个取值映射为一个二进制向量,常用于避免特征间大小关系影响模型。Spark ML 提供 OneHotEncoder 进行编码,输入输出列可通过 `inputCol` 和 `outputCol` 参数设置。在示例中,先用 StringIndexer 对类别特征编码,再用 OneHotEncoder 转换,最后展示编码结果。注意 One-Hot 编码可能导致高维问题,可结合实际情况选择编码方式。
|
8天前
|
消息中间件 Kafka API
AutoMQ 对象存储数据高效组织的秘密: Compaction
AutoMQ是一款使用对象存储的消息系统,通过内存攒批和EBS持久化降低API调用成本。它有两种对象类型:Stream Set Object和Stream Object。Compaction过程用于数据清理、减少元数据和提升读取性能。Compaction包括SSO和SO两阶段,本文聚焦于SSO Compaction,涉及索引解析、排序、数据段分裂和迭代计划。每个迭代按内存限制划分任务,读取数据段并上传新对象,最后提交元数据更新。AutoMQ还有其他特性如Force Split和分级限流。团队由Apache RocketMQ和Linux LVS背景成员组成,致力于提供低成本、高弹性的消息服务。
15 0
AutoMQ 对象存储数据高效组织的秘密: Compaction
|
12天前
|
存储 弹性计算 数据库
阿里云oss备份网站数据的详细步骤
该教程指导如何使用阿里云OSS备份网站数据。首先,注册阿里云账号并购买40GB的OSS存储空间。创建Bucket,选择与服务器相同的区域和私有权限。安装阿里云OSS插件,获取AccessKey信息。在宝塔面板中设置计划任务进行网站或数据库备份,选择内网域名以节省流量。备份完成后,通过文件管理器检查OSS中是否有备份文件。下载备份文件需点击文件名,然后打开文件URL。
|
17天前
|
分布式计算 Java 关系型数据库
|
17天前
|
SQL 分布式计算 数据可视化
数据分享|Python、Spark SQL、MapReduce决策树、回归对车祸发生率影响因素可视化分析
数据分享|Python、Spark SQL、MapReduce决策树、回归对车祸发生率影响因素可视化分析
|
17天前
|
分布式计算 DataWorks 数据处理
DataWorks产品使用合集之在DataWorks中管理MaxCompute模块的步骤如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
35 0
|
存储 JSON 监控
将OSS数据导入日志服务操作实践
OSS与日志服务相比,OSS存储的成本更低,不过日志服务中查询、结果展示、实时监控、数据加工等功能是OSS所不具备的。所以,可以将历史数据投递到OSS进行长期保存,SLS存储近期有查询分析需要的数据。<br />当历史数据有查询、分析需求时可以将OSS中的数据重新导入到SLS。
1859 0
|
17天前
|
分布式计算 大数据 MaxCompute
MaxCompute产品使用合集之使用pyodps读取OSS(阿里云对象存储)中的文件的步骤是什么
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
http://www.vxiaotou.com