数据湖实操讲解【数据迁移】第一讲:高效迁移 HDFS 海量文件到 OSS

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

本期导读 :【数据迁移】第一讲

主题:高效迁移 HDFS 海量文件到 OSS
讲师:扬礼,阿里巴巴计算平台事业部 EMR 开发工程师
主要内容:
  • DistCp 介绍
  • Jindo DistCp 介绍
  • 性能优化
  • 功能演示
直播回放链接:

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

背景介绍

为了让更多开发者了解并使用 JindoFS+OSS,由阿里云JindoFS+OSS 团队打造的专业公开课【数据湖JindoFS+OSS 实操干货36讲】在每周二16:00 准时直播开讲!扫描文章底部二维码,进钉钉群不错过每次直播信息!

内容概述

什么是 DistCp?

DistCp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具。它使用 Map/Reduce 实现文件分发,错误处理和恢复,以及报告生成。它把文件和目录的列表作为 map 任务的输入,每个任务会完成源列表中部分文件的拷贝。

DistCp 工具种类

1.png

Jindo DistCp 介绍
  • 分布式文件拷贝工具,基于 MapReduce
  • 支持多种数据源(HDFS / OSS / S3 / COS 等)
  • 多种拷贝策略,功能对齐开源 Hadoop DistCp 及 S3 DistCp 等
  • 深度结合 OSS,基于 native 实现的 JindoFS SDK
  • 优化 JobCommitter,性能领先开源工具
现有 HDFS海量文件同步到 OSS 存在的问题
  • 文件数量规模大,百/千万级,开源 DistCp 超时/OOM 等
  • HDFS 拷贝到 OSS ,效率较慢,Rename 耗时
  • 现有开源工具无法保证数据拷贝一致性
  • 不支持传输时进行归档/冷存储等 OSS 特性
Jindo DistCp 基于 HDFS 海量文件同步到 OSS 场景优化
  • 分批 Batch,避免文件数过多/文件size过大,造成超时/OOM
  • 定制化 CopyCommitter,实现 No-Rename 拷贝,并保证数据拷贝落地的一致性
  • 大/小文件传输策略优化
  • 基于 native 实现的 JindoFS SDK,优化读写 OSS 性能
性能优化:CopyCommitter – NoRename 拷贝
1、MapReduce JobCommitter

2.png

2、Jindo CopyCommitter

基于对象存储系统的 Multipart Upload,结合 OSS 文件系统层面的定制支持,可以实现在保证数据一致性前提下无需 Rename 操作的 Job Committer 实现。
3.png

性能测试

我们做了一个 Jindo DistCp 和 Hadoop DistCp的性能对比,在这个测试中我们以 HDFS 到 OSS 离线数据迁移为主要场景,利用Hadoop 自带的测试数据集 TestDFSIO 分别生成1000个10M、1000个500M、1000个1G 大小的文件进行从 HDFS 拷贝数据到 OSS 上的测试过程。
4.png

Github链接:

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

浏览器打开Github链接,点击对应使用场景,进行具体实践。
5.png

实例演示
  • 在Github中下载 jindo-distcp-3.5.0.jar
  • 将 jar 包拷贝到可提交 YARN 作业的节点上
  • 选择 src 和 dest 路径及合适的参数
  • hadoop jar jindo-distcp-3.5.0.jar --src /data --dest oss://yang-ha/data --parallelism 10
  • 执行命令
  • 查看进度(命令行/WebUI)

直接观看视频回放,获取实例讲解~https://developer.aliyun.com/live/246728


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

新建项目 (6).jpg

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
6月前
|
Oracle 关系型数据库 数据处理
实时计算 Flink版产品使用合集之写入OSS是否要开通oss-hdfs服务
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
25天前
|
SQL 分布式计算 关系型数据库
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
Hadoop-24 Sqoop迁移 MySQL到Hive 与 Hive到MySQL SQL生成数据 HDFS集群 Sqoop import jdbc ETL MapReduce
68 0
|
3月前
|
SQL 存储 分布式计算
HDFS数据(跨集群)迁移
HDFS数据(跨集群)迁移
|
3月前
|
存储 机器学习/深度学习 弹性计算
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
|
6月前
|
存储 缓存 安全
阿里云EMR数据湖文件系统: 面向开源和云打造下一代 HDFS
本文作者详细地介绍了阿里云EMR数据湖文件系统JindoFS的起源、发展迭代以及性能。
72691 79
|
3月前
|
安全 数据安全/隐私保护
阿里云EMR数据湖文件系统问题之JindoFS的INode定义与HDFS有何不同
阿里云EMR数据湖文件系统问题之JindoFS的INode定义与HDFS有何不同
|
6月前
|
存储 Serverless 对象存储
通过FC运行脚本下载文件到OSS
本文介绍了在阿里云中使用函数计算服务(Function Compute)从URL下载文件并存储到OSS(Object Storage Service)的步骤。首先,需开通函数计算服务并创建RAM角色,授权函数计算访问OSS权限。费用详情参考官方计费概述。操作步骤包括:登录OSS控制台,使用公共模板创建执行,配置参数并运行Python脚本,脚本负责从URL下载文件并上传至指定OSS Bucket。执行成功后,文件将出现在目标OSS Bucket中。
通过FC运行脚本下载文件到OSS
|
6月前
|
存储 Prometheus Kubernetes
OSS、OSS-HDFS、PVC
OSS、OSS-HDFS和PVC都是与分布式存储相关的技术,下面是它们的详细介绍:
198 1
|
6月前
|
存储 分布式计算 Kubernetes
PVC、Ceph、HDFS、CPFS、NFS和OSS
PVC、Ceph、HDFS、CPFS、NFS和OSS都是分布式存储系统,下面是它们的详细介绍: 1. PVC(Persistent Volume Claim):PVC是Kubernetes中的一个资源请求,用于声明在集群中存储持久化数据的需求。PVC可以被用于存储应用程序的数据,例如数据库、日志文件等。PVC由Kubernetes集群管理员创建,并在Kubernetes集群中进行分配。
592 0
|
24天前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
108 6