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

简介: 快速学习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的插件,进行简单的数据存、查、删等操作。
相关文章
|
存储 缓存 分布式计算
【赵渝强老师】Spark RDD的缓存机制
Spark RDD通过`persist`或`cache`方法可将计算结果缓存,但并非立即生效,而是在触发action时才缓存到内存中供重用。`cache`方法实际调用了`persist(StorageLevel.MEMORY_ONLY)`。RDD缓存可能因内存不足被删除,建议结合检查点机制保证容错。示例中,读取大文件并多次调用`count`,使用缓存后执行效率显著提升,最后一次计算仅耗时98ms。
509 0
【赵渝强老师】Spark RDD的缓存机制
|
SQL 分布式计算 Serverless
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
444 0
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
1012 1
|
存储 缓存 分布式计算
大数据-89 Spark 集群 RDD 编程-高阶 编写代码、RDD依赖关系、RDD持久化/缓存
大数据-89 Spark 集群 RDD 编程-高阶 编写代码、RDD依赖关系、RDD持久化/缓存
366 4
|
SQL 分布式计算 监控
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
本文演示了使用 EMR Serverless Spark 产品搭建一个日志分析应用的全流程,包括数据开发和生产调度以及交互式查询等场景。
57230 7
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
|
分布式计算 DataWorks MaxCompute
MaxCompute操作报错合集之在Spark访问OSS时出现证书错误的问题,该如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
539 5
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
|
缓存 NoSQL Java
Redis+Caffeine构建高性能二级缓存
大家好,我是摘星。今天为大家带来的是Redis+Caffeine构建高性能二级缓存,废话不多说直接开始~
1812 0
|
10月前
|
缓存 负载均衡 监控
135_负载均衡:Redis缓存 - 提高缓存命中率的配置与最佳实践
在现代大型语言模型(LLM)部署架构中,缓存系统扮演着至关重要的角色。随着LLM应用规模的不断扩大和用户需求的持续增长,如何构建高效、可靠的缓存架构成为系统性能优化的核心挑战。Redis作为业界领先的内存数据库,因其高性能、丰富的数据结构和灵活的配置选项,已成为LLM部署中首选的缓存解决方案。
931 25
|
11月前
|
存储 缓存 NoSQL
Redis专题-实战篇二-商户查询缓存
本文介绍了缓存的基本概念、应用场景及实现方式,涵盖Redis缓存设计、缓存更新策略、缓存穿透问题及其解决方案。重点讲解了缓存空对象与布隆过滤器的使用,并通过代码示例演示了商铺查询的缓存优化实践。
421 1
Redis专题-实战篇二-商户查询缓存