高效迁移 HDFS 海量文件到 OSS | 学习笔记

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介: 快速学习高效迁移 HDFS 海量文件到 OSS。

开发者学堂课程【数据湖 JindoFS + OSS 实操干货36讲高效迁移 HDFS 海量文件到 OSS】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/833/detail/13961


高效迁移 HDFS 海量文件到 OSS

 

内容介绍

一、DistCp 介绍

二、Jindo DistCp 介绍

三、性能优化

四、功能演示

 

一、DistCp 介绍

1.DistCp 的概念

DistCp (分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具。它使用Map/Reduce 实现文件分发,错误处理和恢复,以及报告生成。

它把文件和目录的列表作为 map 任务的输入,每个任务会完成源列表中部分文件的拷贝。

 

2.DistCp 工具种类1.png


二、Jindo DistCp 介绍

1.Jindo DistCp 介绍

➢分布式文件拷贝工具,基于 MapReduce

➢支持多种数据源(HDFS/ OSS/ S3/ COS )

➢多种拷贝策略,功能对齐开源 Hadoop DistCp S3 DistCp

➢深度结合 OSS,基于 native 实现的 JindoFS SDK

➢优化 JobCommitter,性能领先开源工具

2.现有 HDFS 海量文件同步到 OSS 问题

➢文件数量规模大,百/千万级,开源 DistCp 超时/OOM

HDFS 拷贝到 OSS,效率较慢,Rename耗时

➢现有开源工具无法保证数据拷贝一致性

➢不支持传输时进行归档/冷存储等 OSS 特性

3.Jindo DistCp基于HDFS海量文件同步到 OSS 场景优化

➢分批 Batch,避免文件数过多/文件 size 过 大,造成超时/OOM

➢定制化 CopyCommitter,实现 No Rename 拷贝,并保证数据拷贝落地的-致性

➢大/小文件传输策略优化

➢基于 native 实现的 JindoFS SDK,优化读写 OSS 性能

 

三、性能优化:CopyCommitter - NoRename 拷贝

1.MapReduce JobCommitter

2.png2.Jindo CopyCommitter

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

3.png3.性能测试

Jindo DistCp Hadoop DistCp 的性能对比,在这个测试中以 HDFS OSS离线数据迁移为主要场景,利用Hadoop自带的测试数据 TestDFSIO 分别生成100010M1000500M 10001G 大小的文件进行从HDFS拷贝数据到OSS上的测试过程。

4.png4.访问链接:

httos://qithub.com/aliyun/alibabacloud-jindofs/blob/master/docs/indo distcp/indo distcp overview.md


四、功能演示

1.下载j indo-distcp-3.5.0.jar

2.jar 包拷贝到可提交 YARN 作业的节点上

3.选择 src dest 路径及合适的参数

hadoop jar jindo-distcp-3.5.0.jar - -src /data --dest ss://yang-ha/data --parallelism 10

4.执行命令

5.查看进度(命令行 WebUI)

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
相关文章
|
7月前
|
DataWorks 安全 关系型数据库
DataWorks产品使用合集之同步数据到OSS时,文件的切分单位如何设置
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
101 1
|
8月前
|
Oracle 关系型数据库 数据处理
实时计算 Flink版产品使用合集之写入OSS是否要开通oss-hdfs服务
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
8月前
|
分布式计算 大数据 MaxCompute
MaxCompute产品使用合集之使用pyodps读取OSS(阿里云对象存储)中的文件的步骤是什么
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
5月前
|
文字识别 算法 API
视觉智能开放平台产品使用合集之上传素材文件不在同一地域的OSS,怎么上传多张图片
视觉智能开放平台是指提供一系列基于视觉识别技术的API和服务的平台,这些服务通常包括图像识别、人脸识别、物体检测、文字识别、场景理解等。企业或开发者可以通过调用这些API,快速将视觉智能功能集成到自己的应用或服务中,而无需从零开始研发相关算法和技术。以下是一些常见的视觉智能开放平台产品及其应用场景的概览。
51 1
|
5月前
|
存储 运维 Serverless
函数计算产品使用问题之OSS触发器是否可以只设置文件前缀
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
6月前
|
消息中间件 分布式计算 DataWorks
DataWorks产品使用合集之如何使用Python和阿里云SDK读取OSS中的文件
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
6月前
|
分布式计算 DataWorks 调度
DataWorks产品使用合集之在使用MaxCompute进行数据集成同步到OSS时,出现表名和OSS文件名不一致且多了后缀,该如何处理
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
7月前
|
SQL 分布式计算 DataWorks
DataWorks产品使用合集之如何将CSV文件从阿里云OSS同步到ODPS表,并且使用列作为表分区
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
DataWorks产品使用合集之如何将CSV文件从阿里云OSS同步到ODPS表,并且使用列作为表分区
|
6月前
|
运维 Serverless 对象存储
函数计算产品使用问题之如何配合OSS实现接口收到的图片或文件直接存入OSS
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
7月前
|
SQL 分布式计算 大数据
MaxCompute产品使用问题之如果oss文件过大,如何在不调整oss源文件大小的情况下优化查询sql
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。