我试着用 S3DistCp
解决hadoop中的小文件问题。它在工作,但是输出有点烦人。我要处理的文件路径如下:
s3://test-bucket/test/0000eb6e-4460-4b99-b93a-469d20543bf3/201402.csv
文件夹中可以有多个文件。我想按文件夹名分组,因此在s3distcp中使用以下groupby参数:
--groupBy '.*(........-.........-....-............).*'
它确实会对文件进行分组,但仍然会产生多个输出文件夹,每个文件夹中有一个文件。有没有办法将分组的文件输出到一个文件夹而不是多个文件夹中?
谢谢!
2条答案
按热度按时间ep6jt1vc1#
我想你可以试试这个:
--groupBy ".*/(........-.........-....-............)/.*"
在您的示例中,您应该使用以下内容:--src "s3://test-bucket/test/"
这样,您将有多个文件夹,其中的所有文件合并在一起。u5rb5r592#
截至2015年11月20日,这是s3distcp的行为。它将基于源目录创建多个目录。它不会跨目录合并。