📜  s3-dist-cp 下载到本地 fs (1)

📅  最后修改于: 2023-12-03 15:34:47.640000             🧑  作者: Mango

s3-dist-cp - S3数据下载到本地文件系统

s3-dist-cp 是一个用于将数据从 Amazon S3(简称S3)下载到本地文件系统(简称fs)的命令行工具。 它支持多线程、断点续传和错误重试等功能,能够高效地将大量数据从S3中下载到本地。

安装

s3-dist-cp 不需要进行安装,只需要将其可执行文件下载到你的本地机器即可。可以通过如下命令下载最新版本:

wget https://s3.amazonaws.com/datapipeline-us-east-1/software/s3distcp/latest/s3-dist-cp.jar
使用

使用s3-dist-cp 非常简单,只需要在终端输入以下命令:

java -jar s3-dist-cp.jar s3://<bucket>/<path> <local path>

其中,s3://<bucket>/<path> 指的是目标S3桶中要下载的文件或目录路径,<local path> 是本地文件系统中保存的路径。例如:

java -jar s3-dist-cp.jar s3://my-bucket/my-folder /home/user/downloads/

这将把 s3://my-bucket/my-folder 目录中的所有文件都下载到本地的 /home/user/downloads/ 目录下。

你还可以指定复制的选项,例如-maxConcurrentCopies 和-multipartUploadChunkSize:

java -jar s3-dist-cp.jar -maxConcurrentCopies 5 -multipartUploadChunkSize 100 s3://my-bucket/my-folder /home/user/downloads/

此外,对于非常大的数据集,你可以通过提供一个包含要下载对象的列表的文件,来更好地管理你的下载。

java -jar s3-dist-cp.jar --srcPattern allUsers/2019/* --dest hdfs://namenode:8020/user/deploy/hdfsdir --groupBy 'regex:allUsers/2019/(\d{2})-(\d{2})-(\d{2})-(.*)'

优点

使用s3-dist-cp 下载S3数据到本地文件系统的好处有:

  • 高效可靠:支持多线程、断点续传和错误重试等功能,能够高效地将大量数据从S3下载到本地。

  • 轻松管理:可以通过提供一个包含要下载对象的列表的文件,来更好地管理你的下载。

  • 高度可定制:支持指定复制的选项,例如-maxConcurrentCopies 和-multipartUploadChunkSize。

  • 易于使用:只需一条命令即可将S3数据下载到本地。

结论

s3-dist-cp 是一个非常方便的工具,可以在不到一分钟内从Amazon S3下载大量数据,而无需担心文件传输失败或数据损坏。 如果您需要将大量数据从S3下载到本地,s3-dist-cp 是理想的工具。