1

我正在使用 s3disctcp 将 31,16,886 个文件(300 GB)从 S3 复制到 HDFS,仅复制 10,48,576 个文件需要 4 天。我终止了工作,需要了解如何减少这个时间或我在做什么错误的。

s3-dist-cp --src s3://xml-prod/ --dest hdfs:///Output/XML/

它在 AWS EMR 机器上。

4

2 回答 2

0

问题在于 HDFS 及其在处理大量小文件时性能不佳。考虑在将文件放入 HDFS 之前合并文件。命令groupby选项提供了一种方法。s3distcp

于 2017-02-28T00:11:04.607 回答
0

为什么不将整个过程作为单个应用程序管道的一部分?这样您就不必在 HDFS 中存储大量小的中间文件。

S3 File Reader --> XML Parser --> Pick Required Fields --> Parquet Writer(具有轮换策略的单个文件)

于 2017-03-10T01:26:36.717 回答