数据湖实操讲解【数据迁移】第一讲:高效迁移 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,搭建一个在线教育视频课程分享网站。
相关文章
|
5月前
|
存储 机器学习/深度学习 弹性计算
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
阿里云EMR数据湖文件系统问题之OSS-HDFS全托管服务的问题如何解决
|
8月前
|
存储 缓存 安全
阿里云EMR数据湖文件系统: 面向开源和云打造下一代 HDFS
本文作者详细地介绍了阿里云EMR数据湖文件系统JindoFS的起源、发展迭代以及性能。
72772 79
|
5月前
|
安全 数据安全/隐私保护
阿里云EMR数据湖文件系统问题之JindoFS的INode定义与HDFS有何不同
阿里云EMR数据湖文件系统问题之JindoFS的INode定义与HDFS有何不同
|
8月前
|
存储 对象存储 SQL
【获奖名单公示】Hologres实时湖仓分析挑战赛
5分钟快速使用Hologres实时湖仓能力,无需移动数据,直接加速读取存储于数据湖OSS上的Hudi、Delta、Paimon等格式类型的数据
【获奖名单公示】Hologres实时湖仓分析挑战赛
|
存储 分布式计算 关系型数据库
AnalyticDB MySQL — Spark 助力在OSS上构建低成本数据湖
阿里云对象存储OSS(Object Storage Service)是阿里云提供的海量、安全、低成本、高可靠的云存储服务。通过和OSS团队的深入合作,AnalyticDB MySQL 的Spark能力 更好发挥了云原生数据湖方案的优势,本文为你详细解读!
|
SQL 弹性计算 分布式计算
使用EMR+DLF+OSS-HDFS进行数据湖分析
本实验通过使用EMR,搭建EMR集群,对OSS-HDFS进行数据湖分析
|
存储 分布式计算 关系型数据库
AnalyticDB MySQL Spark 助力在OSS上构建低成本数据湖
借助AnalyticDB MySQL Spark 可以轻松处理OSS上PB级数据,助力企业构建低成本数据湖
|
3月前
|
分布式计算 Kubernetes Hadoop
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
大数据-82 Spark 集群模式启动、集群架构、集群管理器 Spark的HelloWorld + Hadoop + HDFS
206 6
|
3月前
|
SQL 分布式计算 监控
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
Hadoop-20 Flume 采集数据双写至本地+HDFS中 监控目录变化 3个Agent MemoryChannel Source对比
75 3
|
3月前
|
SQL 分布式计算 Hadoop
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
Hadoop-14-Hive HQL学习与测试 表连接查询 HDFS数据导入导出等操作 逻辑运算 函数查询 全表查询 WHERE GROUP BY ORDER BY(一)
61 4