OSS 数据湖实践 —— EMR+OSS入门

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000 次 1年
简介: 基于阿里云面向对象存储(OSS) 技术优势,利用EMR的计算能力,把二者结合起来,快速搭建大数据计算环境,实现大数据分析需求。

对象存储服务(Object Storage Service,OSS)是一种海量、安全、低成本、高可靠的云存储服务,适合存放任意类型的文件;E-MapReduce(EMR)构建于云服务器ECS上,基于开源的Apache Hadoop和Apache Spark,可以方便地使用Hadoop和Spark生态系统中的其他周边系统(例如,Apache Hive、Apache Pig和HBase等)来分析和处理数据;E-MapReduce还可以与阿里云的云数据存储系统OSS进行数据传输,把二者各自优势结合起来,使存储计算分离,方便快捷搭建大数据计算环境,实现大数据分析需求。

前提条件

• 已注册阿里云账号,详情请参见注册阿里云账号。
• 已开通E-MapReduce服务和OSS服务。
• 已完成云账号的授权,详情请参见角色授权

步骤一:创建EMR集群及相关配置

在使用spark 操作oss中的数据之前,您需要在本地安装MAVEN、JAVA、SCALA环境,以及在E-MapReduce上创建Hadoop集群。

1、在本地安装JAVA、MAVEN、SCALA环境;

2、登录阿里云E-MapReduce控制台,创建Hadoop集群(可选服务中必选spark、smartdata、bigboot、knox服务)

1589163886750_0654e08f_f1c3_49a1_ad28_82ec2d2a21ec

3、在创建集群时,设置knox账号密码,挂载公网 及设置集群登录密码;

1589164051185_f1df5548_e6f3_4573_a02c_f88f48e291f6

4、集群创建之后,在集群服务smartdata smartdata-site配置oss数据源;

增加两个配置项,分别为fs.jfs.cache.oss-accessKeyId、fs.jfs.cache.oss-accessKeySecret;
1589175412244_18ba5166_5fd6_4e33_be32_20de342f9a51
然后点击保存,以及右上方操作中重启组件;

5、登录hadoop集群header节点,验证oss 数据源是否生效

hadoop fs -ls oss://your-bucket-name/dir/   #测试读OSS
hadoop fs -mkdir oss://your-bucket-name/dir/   #测试写OSS

步骤二:使用EMR集群提交spark作业,读写OSS

1、编写spark代码,从OSS中读取json数据,然后向OSS写入delta格式数据,制作为jar包

import org.apache.spark.sql.{Row, SparkSession}
object WriteOSS {
  def main(args: Array[String]): Unit = {
    val spark = SparkSession
      .builder
      .appName("Spark OSS")
      .getOrCreate()
    val data=spark.read.json("oss://bucketname/test.json")
    data.write.format("delta").save("oss://bucketname/test_delta_data")
    }
}

2、把jar包上传至EMR集群上,然后把jar包放在本地hdfs下,或者利用hadoop命令把jar包上传到oss中都可

• 使用scp工具把jar包传送到EMR集群的header节点上
• 把jar包拷贝到oss bucket下

./ossutil64 cp test.jar oss://bucket-name/dir

• 把jar包拷贝到本地集群hfs文件系统中

hadoop fs -put localfile hdfsfile

3、在数据开发中创建spark job作业

1589269866848_5a7ddaea_d01d_4732_8d1d_e99b258698ad

4、在test job编辑框中输入作业提交命令

--class OSSReadWrite --master yarn --deploy-mode client 
--driver-memory 5g --num-executors 50 --executor-memory 3g 
--executor-cores 3 --conf spark.default.parallelism=500 
--conf spark.yarn.am.memoryOverhead=1g 
--conf spark.yarn.am.memory=2g 
oss://your-bucket-name/test.jar

5、运行作业,查看作业日志

1589276162092_89e1b53c_9907_4b42_b252_d57ab0070082

总结

至此,我们就完成了从创建EMR hadoop集群,配置好OSS数据源,开发OSS读写作业,数据开发中创建test job,提交作业,并且查看运行日志一系列操作。
在此基础之上,我们可以根据个人需求,进行其他作业开发,分析利用OSS上存储的数据。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
目录
相关文章
|
1月前
|
存储 分布式计算 OLAP
百观科技基于阿里云 EMR 的数据湖实践分享
百观科技为应对海量复杂数据处理的算力与成本挑战,基于阿里云 EMR 构建数据湖。EMR 依托高可用的 OSS 存储、开箱即用的 Hadoop/Spark/Iceberg 等开源技术生态及弹性调度,实现数据接入、清洗、聚合与分析全流程。通过 DLF 与 Iceberg 的优化、阶梯式弹性调度(资源利用率提升至70%)及倚天 ARM 机型搭配 EMR Trino 方案,兼顾性能与成本,支撑数据分析需求,降低算力成本。
238 59
|
2月前
|
关系型数据库 数据库 对象存储
Dify实践|Dify on DMS+对象存储OSS,实现多副本部署方案
本文介绍了在DMS上部署Dify的详细步骤,用户可选择一键购买资源或基于现有资源部署Dify,需配置RDS PostgreSQL、Redis、AnalyticDB for PostgreSQL等实例,并设置存储路径和资源规格。文中还提供了具体配置参数说明及操作截图,帮助用户顺利完成部署。
|
5月前
|
弹性计算 人工智能 数据管理
AI场景下的对象存储OSS数据管理实践
本文介绍了ECS和OSS的操作流程,分为两大部分。第一部分详细讲解了ECS的登录、密码重置、安全组设置及OSSUTIL工具的安装与配置,通过实验创建并管理存储桶,上传下载文件,确保资源及时释放。第二部分则聚焦于OSSFS工具的应用,演示如何将对象存储挂载为磁盘,进行大文件加载与模型训练,强调环境搭建(如Conda环境)及依赖安装步骤,确保实验结束后正确清理AccessKey和相关资源。整个过程注重操作细节与安全性,帮助用户高效利用云资源完成实验任务。
761 161
|
3月前
|
消息中间件 监控 数据挖掘
【有奖实践】轻量消息队列(原 MNS)订阅 OSS 事件实时处理文件变动
当你需要对对象存储 OSS(Object Storage Service)中的文件变动进行实时处理、同步、监听、业务触发、日志记录等操作时,你可以通过设置 OSS 的事件通知规则,自定义关注的文件,并将 OSS 事件推送到轻量消息队列(原 MNS)的队列或主题中,开发者的服务即可及时收到相关通知,并通过消费消息进行后续的业务处理。
|
3月前
|
消息中间件 对象存储
轻量消息队列(原 MNS)订阅 OSS 事件实践
使用轻量消息队列订阅OSS事件,实时处理文件变动,赢取ins风U型枕(限量500个)。访问活动页面,完成实操并上传截图即可参与领奖。活动时间:即日起至2025年2月28日16:00。奖品数量有限,先到先得,快来报名吧!
|
3月前
|
SQL 分布式计算 Serverless
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
|
5月前
|
存储 人工智能 开发工具
AI场景下的对象存储OSS数据管理实践
本文介绍了对象存储(OSS)在AI业务中的应用与实践。内容涵盖四个方面:1) 对象存储作为AI数据基石,因其低成本和高弹性成为云上数据存储首选;2) AI场景下的对象存储实践方案,包括数据获取、预处理、训练及推理阶段的具体使用方法;3) 国内主要区域的默认吞吐量提升至100Gbps,优化了大数据量下的带宽需求;4) 常用工具介绍,如OSSutil、ossfs、Python SDK等,帮助用户高效管理数据。重点讲解了OSS在AI训练和推理中的性能优化措施,以及不同工具的特点和应用场景。
568 10
|
4月前
|
存储 人工智能 数据管理
云端问道17期方案教学-AI场景下的对象存储OSS数据管理实践
本文介绍了AI场景下的对象存储OSS数据管理实践,由阿里云技术专家明锦分享。主要内容分为两部分:1) AI场景下对象存储实践方案,包括对象存储的应用、优势及在模型推理中的优化;2) OSS常用工具介绍,如OSSFS、Python SDK、Go SDK等,并详细说明了这些工具的特点和使用场景。文中还探讨了不同模式下的性能优化,以及即将推出的OS Connector for AI/ML工具,旨在提升数据下载速度和IO性能。
|
3月前
|
存储 分布式计算 物联网
美的楼宇科技基于阿里云 EMR Serverless Spark 构建 LakeHouse 湖仓数据平台
美的楼宇科技基于阿里云 EMR Serverless Spark 建设 IoT 数据平台,实现了数据与 AI 技术的有效融合,解决了美的楼宇科技设备数据量庞大且持续增长、数据半结构化、数据价值缺乏深度挖掘的痛点问题。并结合 EMR Serverless StarRocks 搭建了 Lakehouse 平台,最终实现不同场景下整体性能提升50%以上,同时综合成本下降30%。
376 58
|
3月前
|
机器学习/深度学习 分布式计算 大数据
阿里云 EMR Serverless Spark 在微财机器学习场景下的应用
面对机器学习场景下的训练瓶颈,微财选择基于阿里云 EMR Serverless Spark 建立数据平台。通过 EMR Serverless Spark,微财突破了单机训练使用的数据规模瓶颈,大幅提升了训练效率,解决了存算分离架构下 Shuffle 稳定性和性能困扰,为智能风控等业务提供了强有力的技术支撑。
227 15

热门文章

最新文章