Hadoop/Spark 访问 OSS 加速 | 学习笔记

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000 次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介: 快速学习Hadoop/Spark 访问 OSS 加速。

开发者学堂课程【数据湖 JindoFS + OSS 实操干货36讲Hadoop/Spark 访问 OSS 加速】学习笔记,与课程紧密联系,让用户快速学习知识。

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


Hadoop/Spark 访问 OSS 加速

 

内容介绍

一、JindoFS SDK 介绍

二、 Hadoop 使用 JindoFS SDK

三、Spark 使用 JindoFS SDK

四、演示

 

一、JindoFS SDK 介绍

•       JindoFS SDK 是一个简单易用面向 Hadoop/Spark 生态的 OSS 客户端,为阿里云 OSS 提供高度优化的 HadoopFileSystem 实现。

•       通过 JindoFS SDK,可以在 Hadoop 环境中直接使用 oss://bucket/ 的方式访问阿里云 OSS 上的内容。

例如:

hadoop dfs -ls oss: / / bucket/dir

为什么使用 JindoFS SDK

•       优异的性能表现:和开源版本的 Hadoop-OSS-SDK 进行对比,各项操作性能均显著好于 Hadoop-OSS-SDK

•       良好的兼容性:兼容市面上大部分 Hadoop 版本,JindoFS SDK 在 Hadoop2.3 及以上的版本上验证通过

•       专业团队维护:阿里云 EMRHadoop 团队维护,JindoFS Hadoop SDK 在阿里云 EMR等产品中广泛使用

•       功能更新快:及时跟进 OSS 最新特性和优化,版本更新及时。

Hadoop 使用 JindoFS SDK 访问 OSS

安装 jar 包

•       下载最新的jar包 jindofs-sdk-x.x.x.jar,将sdk包安装到hadoop的classpath下。

配置 JindoFSOSS 实现类

•       将 JindoFS OSS 实现类配置到Hadoop的core-site.xml中。


fs.AbstractFileSystem.oss.implcom.aliyun.emr.fs.oss.osS

fs.oss.impl
com.aliyun.emr.fs.oss.Jindo0ssFileSystem

配置 OSSAccess Key

•       将OSS的AccessKey、Access Key Secret、Endpoint等预先配置在Hadoop的core-site.xml中。



jindo. common.accessKeyIdxxx


jindo.common.accessKeySecretxxx


jindo.common.oss.endpointoss-cn-xxx.aliyuncs.com


二、使用 JindoFSSDK 访问 OSS

用HadoopShell访问OSS,下面列举了几个常用的命令。

•       put操作:hadoop fs -put  oss:///

•       ls 操作:hadoop fs -ls oss:///

•       mkdir操作:hadoopfs -mkdiross:///

•       rm操作: hadoop fs rm oss:///

Spark 使用 JindoFS SDK 访问 OSS

在 Spark CLASSPATH 中添加 JindoFS SDK

•       下载最新的jar包 jindofs-sdk-x.x.x.jar,将sdk包安装到 Spark的classpath下。

•       cp jindofs-sdk-${version}.jar $SPARK_HOME/jars/


三、配置 JindoFS SDK

全局配置:参考 Hadoop 配置

任务级别配置:spark-submit--conf

spark.hadoop.fs.AbstractFileSystem.oss.impl=com.aliyun.emr.fs.oss.OSS --conf

spark.hadoop.fs.oss.impl=com.aliyun.emr.fs.oss.JindoOssFileSystem --conf spark.hadoop.fs.jfs.cache.oss.accessKeyId=xxx --conf spark.hadoop.fs.jfs.cache.oss.accessKeySecret=xxx --conf spark.hadoop.fs.jfs.cache.oss.endpoint=oss-cn-xxx.aliyuncs.com

访问 OSS

•       完成配置之后,启动的 Spark 任务访问 OSS 默认就使用 JindoSDK 访问


四、演示

•       \1. 下载 JindoFS SDK

•       \2. 将jar包拷贝到 hadoop classpath

•       \3. 修改配置

•       \4. 演示 hadoop 命令

•       \5. 将 jar 包拷贝到 Spark${SPARK_HOME}/jars

•       \6. 演示 Spark 访问 OSS

 

 

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
相关文章
|
2月前
|
存储 缓存 网络协议
如何使用CDN加速访问OSS存储的图片资源?
通过阿里云CDN加速OSS上的图片和视频资源,可显著提升访问速度、降低带宽成本。CDN将静态资源缓存至离用户最近的节点,减少加载时间,并提供图像处理、缓存优化等功能,提升用户体验。同时,CDN还支持访问数据分析,助力运营决策。本文详解如何通过CDN控制台配置OSS加速,包括添加域名、设置CNAME、配置缓存策略等步骤,帮助您快速实现资源加速。
|
5月前
|
存储 人工智能 Kubernetes
AI 场景深度优化!K8s 集群 OSSFS 2.0 存储卷全面升级,高效访问 OSS 数据
阿里云对象存储OSS是一款海量、安全、低成本、高可靠的云存储服务,是用户在云上存储的高性价比选择…
|
6月前
|
存储 Kubernetes 对象存储
StrmVol存储卷:如何解锁K8s对象存储海量小文件访问性能新高度?
如何提升海量文件的数据读取速率,对于AI训练集管理、量化回测、时序日志分析等场景尤为重要。阿里云容器服务(ACK))支持StrmVol类型存储卷,基于底层虚拟块设备及内核态文件系统,显著降低海量小文件访问延迟。
|
6月前
|
存储 Kubernetes 对象存储
StrmVol 存储卷:解锁 K8s 对象存储海量小文件访问性能新高度
本文介绍了阿里云容器服务(ACK)支持的StrmVol存储卷方案,旨在解决Kubernetes环境中海量小文件访问性能瓶颈问题。通过虚拟块设备与内核态文件系统(如EROFS)结合,StrmVol显著降低了小文件访问延迟,适用于AI训练集加载、时序日志分析等场景。其核心优化包括内存预取加速、减少I/O等待、内核态直接读取避免用户态切换开销,以及轻量索引快速初始化。示例中展示了基于Argo Workflows的工作流任务,模拟分布式图像数据集加载,测试结果显示平均处理时间为21秒。StrmVol适合只读场景且OSS端数据无需频繁更新的情况,详细使用方法可参考官方文档。
715 144
|
5月前
|
存储 人工智能 测试技术
AI 场景深度优化!K8s 集群 OSSFS 2.0 存储卷全面升级,高效访问 OSS 数据
OSSFS 2.0通过轻量化协议设计、协程化技术及FUSE3低级API重构,实现大文件顺序读写与小文件高并发加载的显著提升,在实际测试中表现出高达数十倍的吞吐量增长。适用于机器学习训练、推理等对高带宽低延迟要求严苛的场景,同时支持静态和动态挂载方式,方便用户在ACK集群中部署使用。
591 34
|
7月前
|
存储 分布式计算 Hadoop
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
322 79
|
8月前
|
SQL 分布式计算 Serverless
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
189 0
|
10月前
|
存储 应用服务中间件 开发工具
对象存储OSS-Python设置代理访问请求
通过 Python SDK 配置 nginx 代理地址请求阿里云 OSS 存储桶服务。示例代码展示了如何使用 RAM 账号进行身份验证,并通过代理下载指定对象到本地文件。
448 15
|
存储 缓存 边缘计算
最佳实践:使用阿里云CDN加速OSS访问
用户直接访问OSS资源,访问速度会受到OSS的下行带宽以及Bucket地域的限制。如果通过CDN来访问OSS资源,带宽上限更高,并且可以将OSS的资源缓存至就近的CDN节点,通过CDN节点进行分发,访问速度更快,且费用更低。如果采用动静分离的网站架构,就能够解决海量用户访问的性能瓶颈问题。
5256 0
最佳实践:使用阿里云CDN加速OSS访问
|
5天前
|
存储 人工智能 Cloud Native
阿里云渠道商:OSS与传统存储系统的差异在哪里?
本文对比传统存储与云原生对象存储OSS的架构差异,涵盖性能、成本、扩展性等方面。OSS凭借高持久性、弹性扩容及与云服务深度集成,成为大数据与AI时代的优选方案。