从 Dataflow 写入 BigQuery - 作业完成时不会删除 JSON 文件

2024-04-18

我们的 Dataflow 作业之一将其输出写入 BigQuery。我对其幕后实现方式的理解是,Dataflow 实际上将 JSON 格式的结果(分片)写入 GCS,然后启动 BigQuery 加载作业以导入该数据。

但是,我们注意到,无论作业成功还是失败,某些 JSON 文件都不会在作业后删除。错误消息中没有警告或建议不会删除文件。当我们注意到这一点时,我们查看了我们的存储桶,它有数百个来自失败作业的大型 JSON 文件(主要是在开发期间)。

我本以为数据流应该处理任何清理工作,即使作业失败,并且当它成功时,这些文件肯定应该被删除在作业完成后留下这些文件会产生大量的存储成本!

这是一个错误吗?

“成功”但在 GCS 中留下数百个大文件的作业的示例作业 ID: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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Dataflow 写入 BigQuery - 作业完成时不会删除 JSON 文件 的相关文章

随机推荐

  • 将图像添加到 RichText 元素

    我正在努力实现以下目标 为了实现这一点 我使用富文本 使用它我可以添加多个具有不同样式的文本 但我不知道如何将图像添加到此文本范围 也许还有其他一些因素 您不需要第三方库来实现此目的 在最新的稳定版本中 Flutter 引入了WidgetS
  • Python 解包格式字符串的参数列表

    我有一个根据用户输入动态创建的格式字符串 我正在列表中收集格式字符串的参数 我想知道如何在格式字符串的末尾解压它们 我看到了一些似乎与此相关的问题 但我对 Python 很陌生 我似乎无法将他们的解决方案应用于我的案例 我想做的事情的想法是
  • Bootstrap 4添加垂直分隔管

    您好 我正在尝试在导航链接之间添加一些分隔符 但它不起作用 我尝试添加 nav link after content 但它不起作用或显示在左侧 这是我的代码
  • Angular 6 ag-grid单元格渲染器点击功能

    所以我正在尝试设置 ag grid 但我无法让一件事发挥作用 我想要一个关于行动的专栏 然后我希望它有一个链接或按钮来触发组件文件中的方法 对于列 def 我有以下内容 我究竟做错了什么 headerName Actions cellRen
  • 如何使用(ruby)机架中间件组件设置 cookie?

    我正在为 Rails 应用程序编写一个机架中间件组件 该组件需要有条件地设置 cookie 我目前正在尝试设置cookies 从谷歌搜索看来这应该有效 class RackApp def initialize app app app end
  • 用于 PHP 开发的 Eclipse PDT 与 NetBeans [已关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 对于 PHP 开发 Eclipse PDT 与 NetBeans 相比如何 我刚刚买了一台装有 Windows 7 的新电脑 我开始设置
  • 当我读取本地文件时,Ajax 不工作

    好吧 我连续两天都无法解决这个问题 这个例子在这里 http www w3schools com ajax tryit asp filename tryajax xml2 http www w3schools com ajax tryit
  • 保护在 MacOS 上 Docker 中的 0.0.0.0 本地运行的 Flask/Celery 应用程序的本地主机端口

    我的应用程序有一个 Flask 后端和一个 Angular Electron 前端 该应用程序在 Mac Catalina 上本地运行 Flask Celery 和 Redis 位于单独的 docker 容器中 而前端位于 Docker 外
  • 如何使用IPAddress和IPv4Mask获取IP地址范围?

    我试图在 C NET 2 0 中完成以下任务 给定一个 IPAddress 对象 例如 192 168 127 100 和另一个包含 IPv4Mask 子网掩码的 IPAddress 对象 例如 255 255 248 0 我应该能够计算
  • numpy 赋值不起作用

    假设我有以下内容numpy array In x Out array 1 2 3 4 5 5 2 4 1 5 6 7 2 5 1 dtype int16 In y Out array 3 4 4 1 dtype int16 我想替换一个子数
  • scipy.stats.maxwell中的loc和scale参数是什么?

    The maxwell boltzmann distribution is given by from MathWorld A Wolfram Web Resource wolfram com http mathworld wolfram
  • 理解Sinon.js的yield()、yields()和callsArg()

    有什么区别 stub yield arg1 arg2 spy yields arg1 arg2 stub callsArg index in the Sinon js http sinonjs org docs stubs存根库 stub
  • Android 如何从已知的 URI 获取单首歌曲的 ID 信息

    我知道单曲的 URI 如何获取歌曲的信息 主打歌等 抱歉 我能找到的所有帖子都提供了一种索引整个库的方法 而不是如何获取单个已知 URI 歌曲的信息 这就是我用来获取 URI 的方法 audioID 存储在 SharedPrefs 中 谢谢
  • 通过 Activator.CreateInstance 创建可为 null 的对象返回 null

    我正在创建一个将小脚本转换为 dll 的系统 当我尝试采用可为空值类并将其设为参数的默认值时 我遇到了问题 问题是我需要在编译器中创建用户选择的可为空的实例并将其设置为常量 不幸的是 每当我使用Activator CreateInstanc
  • 对在欧盟地区运行的 Heroku 应用程序强制使用 SSL

    我正在努力为 Heroku 欧盟地区 上运行的 Rails 应用程序强制实施 SSL 连接 我已成功将证书 包括 Heroku SSL 附加组件 添加到自定义域 如果我明确声明 https com 则效果完美 但我想将所有 http 请求重
  • 您能解释一下 md5 和 modulo 的这些令人不安的异常情况吗?

    好吧 标题确实很主观 但这正是我的问题所在 背景是我想将静态 Web 内容的点击均匀地分布在定义数量的缓存服务器上 此外 向客户端的交付应该会加快 因为多个域正在使用中并且请求不会相互阻塞 我也不需要经典的负载均衡器 而是立即在我的 htm
  • 添加渐变背景色和描边 - CSS

    我已将背景渐变添加到其中一个 css 类中 但它从笔画中获取颜色 有没有办法使边框渐变 flex wrapper display flex flex flow row nowrap single chart margin left 160p
  • 调试变量不适用于 gulp sourcemaps + uglify

    我有以下用于捆绑 javascript 的 gulp 任务 gulp task js function return gulp src paths js pipe sourcemaps init pipe uglify pipe conca
  • 在 MATLAB 中调整 3D 矩阵(图像)的大小

    我有一个 3D 矩阵 MxNxK 想将其大小调整为 M xN xK 就像 matlab 中的 imresize 一样 我正在使用图像金字塔 但其结果不是很准确 需要一个更好的 有什么解决办法吗 你可以使用interp3 因为您想要插入 3D
  • 从 Dataflow 写入 BigQuery - 作业完成时不会删除 JSON 文件

    我们的 Dataflow 作业之一将其输出写入 BigQuery 我对其幕后实现方式的理解是 Dataflow 实际上将 JSON 格式的结果 分片 写入 GCS 然后启动 BigQuery 加载作业以导入该数据 但是 我们注意到 无论作业