我正在尝试使用S3DistCp来解决Hadoop中的小文件问题。它是有效的,但使用输出有点烦人。我正在处理的文件路径如下:
s3://test-bucket/test/0000eb6e-4460-4b99-b93a-469d20543bf3/201402.csv并且在该文件夹中可以有多个文件。我希望按文件夹名称分组,因此我在s3distcp中使用以下group by参数:
--groupBy '.*(........-.........-....-............).*'它确实对文件进行了分组,但它仍然会导致多个输出文件夹,每个文件夹中都有一个文件。有没有办法将分组的文件输出到一个文件夹中,而不是多个文件夹中?
谢谢!
发布于 2015-11-21 06:17:12
从2015-11-20开始,这是S3DistCp的行为。它将基于源目录创建多个目录。它不会跨目录组合。
发布于 2015-11-20 00:35:28
我想你可以试试这个:--groupBy ".*/(........-.........-....-............)/.*"
在您的示例中,您应该使用如下内容:--src "s3://test-bucket/test/"
这样,您将拥有多个文件夹,这些文件夹中的所有文件都合并在一起。
https://stackoverflow.com/questions/28733082
复制相似问题