s3distcp按文件夹分组

zxlwwiss  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(350)

我试着用 S3DistCp 解决hadoop中的小文件问题。它在工作,但是输出有点烦人。我要处理的文件路径如下:

s3://test-bucket/test/0000eb6e-4460-4b99-b93a-469d20543bf3/201402.csv

文件夹中可以有多个文件。我想按文件夹名分组,因此在s3distcp中使用以下groupby参数:

--groupBy '.*(........-.........-....-............).*'

它确实会对文件进行分组,但仍然会产生多个输出文件夹,每个文件夹中有一个文件。有没有办法将分组的文件输出到一个文件夹而不是多个文件夹中?
谢谢!

ep6jt1vc

ep6jt1vc1#

我想你可以试试这个: --groupBy ".*/(........-.........-....-............)/.*" 在您的示例中,您应该使用以下内容: --src "s3://test-bucket/test/" 这样,您将有多个文件夹,其中的所有文件合并在一起。

u5rb5r59

u5rb5r592#

截至2015年11月20日,这是s3distcp的行为。它将基于源目录创建多个目录。它不会跨目录合并。

相关问题