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

 

 

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
2月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
199 6
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
大数据-80 Spark 简要概述 系统架构 部署模式 与Hadoop MapReduce对比
86 2
|
12天前
|
存储 应用服务中间件 开发工具
对象存储OSS-Python设置代理访问请求
通过 Python SDK 配置 nginx 代理地址请求阿里云 OSS 存储桶服务。示例代码展示了如何使用 RAM 账号进行身份验证,并通过代理下载指定对象到本地文件。
56 15
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
121 2
|
1月前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
88 1
|
2月前
|
存储 人工智能 缓存
AI助理直击要害,从繁复中提炼精华——使用CDN加速访问OSS存储的图片
本案例介绍如何利用AI助理快速实现OSS存储的图片接入CDN,以加速图片访问。通过AI助理提炼关键操作步骤,避免在复杂文档中寻找解决方案。主要步骤包括开通CDN、添加加速域名、配置CNAME等。实测显示,接入CDN后图片加载时间显著缩短,验证了加速效果。此方法大幅提高了操作效率,降低了学习成本。
5479 16
|
2月前
|
存储 网络安全 对象存储
缺乏中间证书导致通过HTTPS协议访问OSS异常
【10月更文挑战第4天】缺乏中间证书导致通过HTTPS协议访问OSS异常
148 4
|
4月前
|
存储 分布式计算 资源调度
Hadoop生态系统概览:从HDFS到Spark
【8月更文第28天】Hadoop是一个开源软件框架,用于分布式存储和处理大规模数据集。它由多个组件构成,旨在提供高可靠性、高可扩展性和成本效益的数据处理解决方案。本文将介绍Hadoop的核心组件,包括HDFS、MapReduce、YARN,并探讨它们如何与现代大数据处理工具如Spark集成。
366 0
|
4月前
|
分布式计算 Hadoop 大数据
大数据处理框架在零售业的应用:Apache Hadoop与Apache Spark
【8月更文挑战第20天】Apache Hadoop和Apache Spark为处理海量零售户数据提供了强大的支持
81 0
|
10天前
|
存储 分布式计算 大数据
Flume+Hadoop:打造你的大数据处理流水线
本文介绍了如何使用Apache Flume采集日志数据并上传至Hadoop分布式文件系统(HDFS)。Flume是一个高可用、可靠的分布式系统,适用于大规模日志数据的采集和传输。文章详细描述了Flume的安装、配置及启动过程,并通过具体示例展示了如何将本地日志数据实时传输到HDFS中。同时,还提供了验证步骤,确保数据成功上传。最后,补充说明了使用文件模式作为channel以避免数据丢失的方法。
40 4