hadoop fs -du / gsutil du在GCP上运行缓慢

时间:2018-02-15 03:45:23

标签: google-cloud-platform google-cloud-storage google-cloud-dataproc

我正在尝试获取Google存储桶中的控制器大小,但命令运行时间很长。

我已尝试过具有24k子目录和文件的8TB数据,大约需要20~25分钟,相反,HDFS上的相同数据需要不到一分钟的时间来获得大小。

我用来获取大小的命令

  1. hadoop fs -du gs://mybucket

  2. gsutil du gs://mybucket

  3. 请建议我如何更快地完成。

1 个答案:

答案 0 :(得分:1)

12几乎完全相同,1使用GCS连接器。

GCS通过发出列表请求来计算使用情况,如果你有大量的对象,这可能需要很长时间。

本文建议将Access Logs设置为gsutil du的替代方案: https://cloud.google.com/storage/docs/working-with-big-data#data

但是,如果您打算对数据进行任何分析,则可能仍会产生相同的20-25分钟成本。来自GCS Best Practices指南:

  

对象中的正斜杠对云存储没有特殊意义,   因为没有本机目录支持。正因为如此,深刻   使用斜杠分隔符的嵌套目录类结构是可能的,   但是没有深入了解本机文件系统的性能   嵌套的子目录。

假设您打算分析这些数据;您可能需要考虑使用time hadoop distcp对不同文件大小和glob表达式的获取性能进行基准测试。