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

简介: 数据湖 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

相关文章
|
Web App开发 监控 安全
OSS客户端签名直传实践:Web端安全上传TB级文件方案(含STS临时授权)
本文深入解析了客户端直传技术,涵盖架构设计、安全机制、性能优化等方面。通过STS临时凭证与分片上传实现高效安全的文件传输,显著降低服务端负载与上传耗时,提升系统稳定性与用户体验。
1394 2
|
消息中间件 监控 数据挖掘
【有奖实践】轻量消息队列(原 MNS)订阅 OSS 事件实时处理文件变动
当你需要对对象存储 OSS(Object Storage Service)中的文件变动进行实时处理、同步、监听、业务触发、日志记录等操作时,你可以通过设置 OSS 的事件通知规则,自定义关注的文件,并将 OSS 事件推送到轻量消息队列(原 MNS)的队列或主题中,开发者的服务即可及时收到相关通知,并通过消费消息进行后续的业务处理。
507 109
|
存储 运维 Serverless
函数计算产品使用问题之OSS触发器是否可以只设置文件前缀
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
消息中间件 分布式计算 DataWorks
DataWorks产品使用合集之如何使用Python和阿里云SDK读取OSS中的文件
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
运维 Serverless 对象存储
函数计算产品使用问题之如何配合OSS实现接口收到的图片或文件直接存入OSS
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
380 0
|
分布式计算 DataWorks 数据管理
DataWorks操作报错合集之使用OSS读取CSV文件到ODPS时遇到报错,一般是什么导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
Java 对象存储 Perl
oss迁移以及校验
oss的数据迁移以及一致性校验
2662 0
|
12月前
|
存储 人工智能 Cloud Native
阿里云渠道商:OSS与传统存储系统的差异在哪里?
本文对比传统存储与云原生对象存储OSS的架构差异,涵盖性能、成本、扩展性等方面。OSS凭借高持久性、弹性扩容及与云服务深度集成,成为大数据与AI时代的优选方案。
|
存储 运维 安全
阿里云国际站OSS与自建存储的区别
阿里云国际站对象存储OSS提供海量、安全、低成本的云存储解决方案。相比自建存储,OSS具备易用性强、稳定性高、安全性好、成本更低等优势,支持无限扩展、自动冗余、多层防护及丰富增值服务,助力企业高效管理数据。