Spark 对 OSS 上的 ORC 数据进行查询加速 | 学习笔记

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: 快速学习 Spark 对 OSS 上的 ORC 数据进行查询加速。

开发者学堂课程【数据湖 JindoFS + OSS 实操干货36讲Spark 对 OSS 上的 ORC 数据进行查询加速 】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/833/detail/13980


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

 

内容介绍

一、ORC 简介

二、JIndoFS 列存加速

三、性能对比

四、演示


一、ORC 简介

1ORC: Hadoop生态的列存系统

l  来自 Hive 的列式存储

l  支持列裁剪

l  包含类型信息,自描述

l  支持 Encoding/ 压缩

2Spark ORC

l  Spark Hive

l   CREATE TABLE tablename STORED AS ORC;

l   使用Hive ORC

l   Spark.sql.hive.convertMetastoreOrc

l  Spark Datasource

l  CREATE TABLE tablenameUSING ORC;

l  使用 Apache ORC

 

二、JIndoFS 列存加速

1JindoFS 列存加速:痛点

l  对象存储水平扩展能力强,但请求延时高

l  本地盘/云盘带宽有限,中间数据越少越好

l  IO 需要与 shuffle 数据竞争网络咨源

l  计算越快越好

2JindoFS 列存加速

l  JindoTable Native Engine

l  高速读取

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

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

l  支持 JindoFS/OSS

l  支持 ORC/Parquet 格式

l  高效的预计算(规划)

l  可插拔,兼容开源

3)用法

l  命令行参数

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

l  配置到 spark- defaults

l   spark.sql.extensions

com.aliyun.emr.sql.Jindo TableExtension

l  Spark Hive 表需要确保

l  spark.sql.hive.convertMetastoreOrc = true

l  EMR-3.35/4.9/5.2 之后的版本

4)加速原理

l  Native Engine 直接把数据排在内存中供上层引擎使用

l  Spark 通过 Unsafe 直接访问数据,无需拷贝数据

l  Native Engine 异步读取文件

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

l  高并发

l  文件级别并发

l  列级别并发

l  Native 实现算子

l  相比J ava 性能更优

5)加速架构

l   一套 Native Engine 支持不同引擎

l  AliORC 提供 ORC 支持

l  Native Engine 运行在 executor/PrestoWorker (客户端)

三、性能对比

1.Spark 性能对比——配置

1.png2. Spark 性能对比——结果:端到端总时间缩短23.6%

 

四、演示

1.演示

l  配置 Spark

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

l  OSS查询鸢尾花数据集

2.相关资料

l  Jindodata相 关文档:

https://qithub.com/aliyun/alibabacloud-indodata

l  计算加速使用文档:

https://help. aliyun.com/document _detail/213329.html

相关实践学习
对象存储OSS快速上手——如何使用ossbrowser
本实验是对象存储OSS入门级实验。通过本实验,用户可学会如何用对象OSS的插件,进行简单的数据存、查、删等操作。
相关文章
|
8月前
|
存储 监控 调度
阿里云对象存储OSS之间进行数据转移教程
讲解如何在阿里云对象存储OSS之间进行跨账号、跨地域、以及同地域内的数据迁移,包括数据迁移之前的准备工作和实施数据迁移以及一些后续操作
|
8月前
|
存储 安全 数据管理
服务器违规资源被删,数据定时备份OSS 云存储才是 “救命稻草”
在数字化时代,数据已成为企业与个人的核心资产。然而,服务器违规、硬件故障等问题频发,导致数据丢失、业务中断,甚至造成不可挽回的损失。为保障数据安全与业务连续性,定时备份至关重要。阿里云国际站OSS提供高效、可靠的云存储解决方案,支持自动定时备份,帮助用户轻松应对数据风险。本文详解OSS备份操作步骤与注意事项,助你为数据穿上“防护甲”,实现安全无忧存储。
|
11月前
|
存储 人工智能 Kubernetes
AI 场景深度优化!K8s 集群 OSSFS 2.0 存储卷全面升级,高效访问 OSS 数据
阿里云对象存储OSS是一款海量、安全、低成本、高可靠的云存储服务,是用户在云上存储的高性价比选择…
|
11月前
|
存储 人工智能 测试技术
AI 场景深度优化!K8s 集群 OSSFS 2.0 存储卷全面升级,高效访问 OSS 数据
OSSFS 2.0通过轻量化协议设计、协程化技术及FUSE3低级API重构,实现大文件顺序读写与小文件高并发加载的显著提升,在实际测试中表现出高达数十倍的吞吐量增长。适用于机器学习训练、推理等对高带宽低延迟要求严苛的场景,同时支持静态和动态挂载方式,方便用户在ACK集群中部署使用。
1331 34
|
存储 Ubuntu 数据管理
使用s3cmd 2.x 与 Cyberduck 管理在 DigitalOcean Spaces 对象存储中的数据
通过 `s3cmd` 2.x 和 Cyberduck,你可以轻松管理 DigitalOcean Spaces 中的数据。`s3cmd` 提供了强大的命令行操作能力,适合脚本化和自动化任务,而 Cyberduck 提供了直观的图形界面,便于日常手动操作。掌握这两种工具的使用方法,将极大提高你的数据管理效率。希望本文能帮助你更好地使用 DigitalOcean Spaces。
342 7
|
SQL 分布式计算 Serverless
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
340 0
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
存储 安全 大数据
对象存储的意义:探索数据新纪元的关键基石
在信息爆炸时代,数据成为核心资产,而高效安全的数据存储至关重要。对象存储作为一种新兴技术,起源于20世纪90年代,旨在解决传统文件系统的局限性。随着云计算和大数据技术的发展,它已成为关键技术之一。对象存储具备高可扩展性、高可靠性、低成本、易于管理和多协议支持等优点。它支撑大数据发展、推动云计算繁荣、助力企业数字化转型并保障数据安全。未来,对象存储将进一步提升性能,实现智能化管理,并与边缘计算融合,获得政策支持,成为数据新时代的关键基石。
570 3
|
机器学习/深度学习 人工智能 专有云
人工智能平台PAI使用问题之怎么将DLC的数据写入到另一个阿里云主账号的OSS中
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
|
DataWorks 安全 定位技术
DataWorks产品使用合集之如何同步OSS中的Parquet数据,并解析里面的数组成多个字段
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
下一篇
开通oss服务