Gra*_*ley 6 google-cloud-dataflow
我们的一个Dataflow作业将其输出写入BigQuery.我对如何在幕后实现这一点的理解是,Dataflow实际上将结果(分片)以JSON格式写入GCS,然后启动BigQuery加载作业以导入该数据.
但是,我们注意到,在作业完成后,无论是成功还是失败,都不会删除某些JSON文件.错误消息中没有警告或建议不会删除文件.当我们注意到这一点时,我们看了一下我们的存储桶,它有几百个来自失败作业的大型JSON文件(主要是在开发期间).
我原以为Dataflow应该处理任何清理,即使作业失败,当它成功时,肯定会删除这些文件.在作业完成后留下这些文件会产生大量的存储成本!
这是一个错误吗?
作业的示例作业ID"成功"但在GCS中留下了数百个大文件:2015-05-27_18_21_21-8377993823053896089



因为这仍然在发生,我们决定在管道完成执行后我们自己清理.我们运行以下命令来删除不是JAR或ZIP的所有内容:
gsutil ls -p <project_id> gs://<bucket> | grep -v '[zip|jar]$' | xargs -n 1 gsutil -m rm -r
Run Code Online (Sandbox Code Playgroud)
小智 5
遗留文件的另一个可能原因是取消了作业.目前,数据流不会从已取消的作业中删除文件.在其他情况下,应清理文件.
此外,第一篇文章"无法删除临时文件"中列出的错误是我们方面的日志记录问题的结果,应该在一两周内解决.在此之前,请随意忽略这些错误,因为它们不会指示遗留文件.
| 归档时间: |
|
| 查看次数: |
705 次 |
| 最近记录: |