数据湖实操讲解【JindoFS 缓存加速】第十二讲:Spark 访问 OSS 透明缓存加速

本文涉及的产品
EMR Serverless StarRocks,5000CU*H 48000GB*H
简介: 数据湖 JindoFS+OSS 实操干货 36讲 每周二16点准时直播! 扫文章底部二维码入钉群,线上准时观看~ Github链接: https://github.com/aliyun/alibabacloud-jindofs

本期导读 :【JindoFS 缓存加速】第十二讲


主题:Spark 访问 OSS 透明缓存加速


讲师:辰山,阿里巴巴计算平台事业部 EMR 技术专家


内容框架:

  • JIndoFS 缓存模式简介
  • Spark 访问 OSS 的缓存加速
  • 缓存效果
  • 实操演示


直播回放链接:(12讲)

https://developer.aliyun.com/live/246923



一、JindoFS 缓存模式简介

JindoFS缓存模式架构图:

image.png

架构介绍:

  • Jindo Namespace Service:JindoFS 元数据管理以及 Storage 服务的管理
  • Jindo Storage Service:用户数据的管理包含本地数据的管理和OSS上数据的管理
  • Jindo SDK 客户端:所有上层计算引擎通过JindoFS SDK提供的客户端访问JindoFS文件系统,从而实现对后端存储实现缓存加速

二、Spark 访问 OSS 的缓存加速

部署缓存服务

  • 下载最新 Releaseb2smartdata-x.x.x.tar.gz,解压并部署到集群所有节点上
  • 修改配置文件conf/bigboot.cfg

      image.png

  • 修改 sbin/nodes,配置所有storageservice的节点列表
  • 启动所有服务 ./sbin/start-service.sh


参考网址:

https://github.com/aliyun/alibabacloud-jindofs/blob/master/docs/jindofs_cache_mode_deploy.md

部署JIndo SDK

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

     cpjindofs-sdk-${version}.jar $SPARK_HOME/jars/

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

     image.png

配置OSS Access Keyimage.png

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

     image.png

配置客户端连接缓存服务

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

  • 设置环境变量指定配置目录

        export B2SDK_CONF_DIR= /path/to/sdk/conf

  • 在配置目录下添加bigboot.cfg配置文件
     •
    client.storage.rpc.port = 6101

       •client.namespace.rpc.address = <NAMESPACE_ADDRESS>:8101

       •jfs.cache.data-cache.enable = true

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


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

三、缓存效果

缓存性能对比:

基于TPC-DS对缓存模式进行性能测评;

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

结果如下:

image.png

图解:

蓝色为启用缓存执行时间;橙色为关闭缓存,用纯粹SDK方式访问OSS所用时

可见执行时间得到近50%的提升,性能提升效果明显


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

参考网址:
https://github.com/aliyun/alibabacloud-jindofs/blob/master/docs/comparisons/jindofs_cache_vs_no_cache.md

四、实操演示


点击回放链接,直接观看第12讲视频回放,获取讲师实例讲解:

https://developer.aliyun.com/live/246923




Github链接:

https://github.com/aliyun/alibabacloud-jindofs


不错过每次直播信息、探讨更多数据湖 JindoFS+OSS 相关技术问题,欢迎扫码加入钉钉交流群!

image.png

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
18天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
63 2
|
18天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
57 1
|
18天前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
3月前
|
存储 机器学习/深度学习 弹性计算
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
|
6月前
|
SQL 分布式计算 监控
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
本文演示了使用 EMR Serverless Spark 产品搭建一个日志分析应用的全流程,包括数据开发和生产调度以及交互式查询等场景。
56595 7
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
|
5月前
|
分布式计算 DataWorks MaxCompute
MaxCompute操作报错合集之在Spark访问OSS时出现证书错误的问题,该如何解决
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
6月前
|
存储 对象存储 SQL
【获奖名单公示】Hologres实时湖仓分析挑战赛
5分钟快速使用Hologres实时湖仓能力,无需移动数据,直接加速读取存储于数据湖OSS上的Hudi、Delta、Paimon等格式类型的数据
【获奖名单公示】Hologres实时湖仓分析挑战赛
|
6月前
|
SQL 分布式计算 Apache
流数据湖平台Apache Paimon(六)集成Spark之DML插入数据
流数据湖平台Apache Paimon(六)集成Spark之DML插入数据
222 0
|
6月前
|
SQL 分布式计算 Apache
流数据湖平台Apache Paimon(五)集成 Spark 引擎
流数据湖平台Apache Paimon(五)集成 Spark 引擎
204 0
|
6月前
|
SQL 分布式计算 大数据
Hudi数据湖技术引领大数据新风口(三)解决spark模块依赖冲突
Hudi数据湖技术引领大数据新风口(三)解决spark模块依赖冲突
234 0