📅  最后修改于: 2023-12-03 15:34:47.640000             🧑  作者: Mango
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
是理想的工具。