【问题标题】:s3distcp copy files and directory from HDFS to S3 in a single commands3distcp 在单个命令中将文件和目录从 HDFS 复制到 S3
【发布时间】:2017-10-06 15:24:38
【问题描述】:

我在 HDFS 中有以下 2 个文件和 1 个目录。

-rw-r--r-- 1 hadoop hadoop 11194859 2017-05-05 19:53 hdfs:///outputfiles/abc_output.txt
drwxr-xr-x - hadoop hadoop 0 2017-05-05 19:28 hdfs:///outputfiles/sample_directory
-rw-r--r-- 1 hadoop hadoop 68507436 2017-05-05 19:55 hdfs:///outputfiles/sample_output.txt

我想通过单个命令将 gzip 格式的 abc_output.txt 和 sample_directory 从 HDFS 复制到 S3。我不希望在 S3 上合并文件。

我的 S3 存储桶应包含以下内容: abc_output.txt.gzip 示例目录.gzip

我尝试了以下方法:

s3-dist-cp --s3Endpoint=s3.amazonaws.com --src=hdfs:///outputfiles/ --dest=s3://bucket-name/outputfiles/ --outputCodec=gzip

但这会将所有文件和文件夹从源复制到目标。

通过引用 Deduce the HDFS path at runtime on EMR,我也试过下面的命令:

s3-dist-cp --s3Endpoint=s3.amazonaws.com --src=hdfs:///outputfiles/ --dest=s3://bucket-name/outputfiles/ --srcPattern=.*abc_output。 txt.sample_directory. --outputCodec=gzip 但这失败了。

【问题讨论】:

    标签: amazon-s3 s3distcp


    【解决方案1】:

    S3DistCp 支持两种关于如何压缩从源到目标的复制数据的选项。 --src模式 - 通过...分组 http://docs.aws.amazon.com/emr/latest/ReleaseGuide/UsingEMR_s3distcp.html

    文档对于可以做什么是不言而喻的。其余的..无法完成。

    使用 srcPattern ,您可以编写一个匹配源文件的正则表达式。 s3distcp 会简单地将那些匹配的文件单独复制到目标中。

    例如:--srcPattern='.*(txt|sample_folder).*' 将复制所有具有txt 扩展名的文件并在目标中创建匹配的目录,以将源文件夹中名称为sample_folder 的文件复制到目标

    http://regexr.com/3ftn0 (您可以根据自己的要求设计正则表达式。)

    如果您在--srcPattern 之外应用--outputCodec=gzip 选项,则将相应地压缩单个匹配的文件。它们不会作为一个整体被拉上拉链。如果您需要将所有匹配的文件 gzip 压缩到一个文件中(不连接其内容),那么您将分别在输出上运行 s3-dist-cp 和压缩命令。

    如果要将文件 abc_output.txt 和 sample_directory 中的所有文件连接成一个文件并以 gzip 格式压缩,则需要使用 --groupBy。对于使用 groupby ,匹配的正则表达式模式应该是相似的,你需要在你的正则表达式中有一个括号来指示文件应该如何分组,所有与括号语句匹配的项目都被组合到一个输出文件中。

    例如:

    --groupBy='.*(file|noname).*[0-9].*' --outputCodec=gz 
    

    http://regexr.com/3ftn9 将连接所有匹配的文件内容并创建一个 .gz 文件

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-16
      • 2015-06-04
      • 1970-01-01
      • 1970-01-01
      • 2014-07-08
      • 1970-01-01
      • 2017-05-02
      相关资源
      最近更新 更多