我使用Google cloud中的GSUTIL命令行工具将文件从一个GCS文件夹复制到另一个GCS文件夹,然后进行一些数据处理。最近我在最终目标(BQ表)中发现了一些数据丢失,当我深入挖掘发现问题与文件复制有关时,当我复制大量文件时,3K~5K e,例如,似乎有些文件没有及时复制到目标文件夹,数据处理开始,这些文件最终被复制,但对于数据处理来说为时已晚,我可以做些什么来防止这种情况发生?在GSUTIL命令行工具中有任何标志/配置来确保复制完全完成吗?我一直使用的命令是: gsutil -m cp gs://folder1/* gs://folder2/
发布于 2015-05-20 08:47:11
假设gsutil命令成功完成(退出状态0),所有文件都应该被复制,但它们可能不会立即出现在存储桶列表中(GCS存储桶列表最终是一致的)。如果您的数据处理作业是通过列出存储桶来查找要处理的文件来操作的,那么这将解释您所看到的情况。要避免此问题,您可以生成复制的对象名称的清单,并将其提供给您的数据处理作业,而不是依赖于存储桶列表。
(存储桶列表最终将显示所有文件,但您不能指望它在上传文件后立即拥有完整的列表。)
https://stackoverflow.com/questions/30337952
复制相似问题