Spark 访问 OSS 透明缓存加速 | 学习笔记

本文涉及的产品
对象存储 OSS,OSS 加速器 50 GB 1个月
简介: 快速学习Spark 访问 OSS 透明缓存加速。

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

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


Spark 访问 OSS 透明缓存加速

 

内容介绍

一、  JindoFS 缓存简介

二、  Spark 访问 OSS 的缓存加速

三、  缓存效果

 

一、  JindoFS 缓存简介

1.   Jindo Namespace Service

2.   Jindo Storage Service

3.   Jindo SDK

 

二、  Spark 访问 OSS 的缓存加速

1.   部署缓存服务

1)   下载最新 Release b2smartdata-x.x.x.tar.gz, 解压并部署到集群所有节点上;

2)   修改配置文件 conf/bigboot.cfg

代码

[bi gboot-Storage]

storage.rpc.port=6101storage.datadirs=/mnt/hskl/bigboot,/mnt/disk2/bigboot,/mnt/disk3/bigboot./mnt/disk4/bigboot

storage.data-dirs.capacities -$27371075584,527371075584,527371075584527371075584

storage.namespace.rpc.address=emr-header-1:8101

storage.watermark.high.ratio=0.4

storage.watermark.low.ratio=0.2

[bigboot-namespace]

namespace.rpc.port=8101

namespace.meta-dir /mnt/disk1/bigboot

3)   修改 sbin/nodes,配置所有 storage service 的节点列表

4)   启动所有服务 /sbin/start-service.sh

5)   详细文档可参考:https//github.com/aliyun/alibabacloud-jindofs/blob/master/docs/jindofs_cache _mode_deploy_md

2.   部署 Jindo SDK

1)   安装 jar 包:下载最新的 jar jindofs-sdk-xx.xjar,将 sdk 包安装到 Spark classpath下。

cp jindofs-sdk-$(version)jar $SPARK_HOME/jars/

2)   配置JindoFS 实现类:将 JindoFS 实现类配置到 Hadoop core-site.xml中。

代码



fs.AbstractFileSystem.oss.impl

com.aliyun.emr.fs.oss.0SS



fs.oss.impl欢迎大家来现看直项

com.aliyun.emr.fs.oss.Jindo0ssFileSystem Spark 访问 OSS



 3.   配置客户端连接缓存服务

客户端通过环境变量 B2SDK_CONF_DIR 定位并加载配置文件 bigboot.cfg

1)   设置环境变量指定配置目录

export B2SDK_CONF_DIR=/path/to/sdk/conf

2)   在配置目录下添加bigboot.cfg配置文件

client.storage.rpc.port = 6101

client.namespace.rpc.address=:8101

jfs.cache.data-cache.enable = true

代码

[bigboot-client]

client.storage.rpc.port = 6101

client.namespace.rpc.address= emr-header-1:8101

jfs.cache.data-cache.enable = true

4.   Spark 访问 OSS 透明缓存加速

1)   完成以上配置之后,启动的 Spark 任务即可访问 OSS

2)   任务读取 OSS 上的数据后,会自动缓存到 JindoFS 缓存系统中,后续访问相同的数据就能够命中缓存。

 

三、  缓存效果

l  缓存性能对比

TPC-DS,选择8个具有 IO 相对较高的 SQL 查询进行测试

1.png详见《JindoFS 缓存系统(Cache模式)性能比较》

https://qithub.com/aliyun/alibabacloudjindofs/blob/master/docs/comparisons/jindofs_cache_vs_no_cache.md

相关实践学习
对象存储OSS快速上手——如何使用ossbrowser
本实验是对象存储OSS入门级实验。通过本实验,用户可学会如何用对象OSS的插件,进行简单的数据存、查、删等操作。
相关文章
|
缓存 NoSQL 网络安全
【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
【Azure Redis 缓存】Azure Redis服务开启了SSL(6380端口), PHP如何访问缓存呢?
275 0
|
存储 缓存 分布式计算
【赵渝强老师】Spark RDD的缓存机制
Spark RDD通过`persist`或`cache`方法可将计算结果缓存,但并非立即生效,而是在触发action时才缓存到内存中供重用。`cache`方法实际调用了`persist(StorageLevel.MEMORY_ONLY)`。RDD缓存可能因内存不足被删除,建议结合检查点机制保证容错。示例中,读取大文件并多次调用`count`,使用缓存后执行效率显著提升,最后一次计算仅耗时98ms。
417 0
【赵渝强老师】Spark RDD的缓存机制
|
SQL 分布式计算 Serverless
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
353 0
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
存储 缓存 分布式计算
大数据-89 Spark 集群 RDD 编程-高阶 编写代码、RDD依赖关系、RDD持久化/缓存
大数据-89 Spark 集群 RDD 编程-高阶 编写代码、RDD依赖关系、RDD持久化/缓存
266 4
|
分布式计算 DataWorks MaxCompute
MaxCompute操作报错合集之在Spark访问OSS时出现证书错误的问题,该如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
386 5
|
缓存 NoSQL 网络安全
【Azure Redis 缓存】在Azure Redis中,如何限制只允许Azure App Service访问?
【Azure Redis 缓存】在Azure Redis中,如何限制只允许Azure App Service访问?
145 0
|
缓存 NoSQL Redis
【Azure Redis 缓存】C#程序是否有对应的方式来优化并缩短由于 Redis 维护造成的不可访问的时间
【Azure Redis 缓存】C#程序是否有对应的方式来优化并缩短由于 Redis 维护造成的不可访问的时间
156 0
|
缓存 NoSQL Redis
【Azure Redis 缓存】Azure Redis加入VNET后,在另一个区域(如中国东部二区)的VNET无法访问Redis服务(注:两个VNET已经结对,相互之间可以互ping)
【Azure Redis 缓存】Azure Redis加入VNET后,在另一个区域(如中国东部二区)的VNET无法访问Redis服务(注:两个VNET已经结对,相互之间可以互ping)
140 0
|
缓存 NoSQL 网络协议
【Azure Redis 缓存】如何使得Azure Redis可以仅从内网访问? Config 及 Timeout参数配置
【Azure Redis 缓存】如何使得Azure Redis可以仅从内网访问? Config 及 Timeout参数配置
271 0
下一篇
开通oss服务