首页 > 解决方案 > 由于设备上没有剩余空间,作业无法完成排空

问题描述

我有一个使用 26GB 内存和 4TB 永久磁盘运行的流式传输作业。

输入集合的估计大小为1.5GB,所以我认为磁盘空间应该足够了。

但是stackdriver上有一些日志,比如

Warning: failed to write fluentd log output: write /var/log/dataflow/boot-json.log: no space left on device

[ERROR:serialization_utils.cc(302)] error writing message length: No space left on device

Failed to write position file, err: write /var/lib/agent/state/harness-boot.pos: no space left on device

这将导致作业无法成功排空。这项工作将永远停滞不前。

似乎与永久磁盘无关,而是启动磁盘?

标签: google-cloud-dataflow

解决方案


我终于发现,由于数据不符合我想要加载到的 BigQuery 表的架构,它被卡在了耗尽状态。虽然没有明确的信息。我需要手动加载生成的文件数据流以查看实际的错误消息。

根本原因是,当我想将字符串值写入"null"表中的不可为空的字符串列时,nullBeam SDK 会以某种方式将值解析为 a 然后失败。


推荐阅读