【发布时间】:2021-02-05 05:26:09
【问题描述】:
当我使用 distcp 命令时
hadoop distcp /a/b/c/d gs:/gcp-bucket/a/b/c/ , where d is a folder on HDFS containing subfolders.
如果文件夹 c 已经在 gcp 上,那么它将 d(及其子文件夹)从 HDFS 复制到 c 内的 gcp 但如果 c 文件夹不在 gcp 上,则它在 gcp 上创建 c 文件夹并复制 d 的子文件夹(但不是d it self ) 在 gcp 的 c 文件夹内。
因此,如果 e 是 HDFS 上 d 中的子文件夹并且文件夹 c 存在于 gcp 上,则输出以下命令:
hadoop distcp /a/b/c/d gs:/gcp-bucket/a/b/c/
将会
gs://a/b/c/d
如果 e 是 HDFS 上 d 中的子文件夹,并且文件夹 c 在 gcp 上不存在,则以下命令的输出
hadoop distcp /a/b/c/d gs:/gcp-bucket/a/b/c/
将是gs://a/b/c/e
为什么第二个命令的输出和第一个命令的输出不一样?两个命令都是一样的。
【问题讨论】:
标签: hadoop google-cloud-platform hdfs gsutil distcp