我有一个流作业,运行时具有26GB内存和4TB永久磁盘。
输入集合的估计大小为1.5GB,因此我认为磁盘空间应该足够。
但是在堆栈驱动程序上有一些日志,例如
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
这将导致无法成功清除作业。这项工作将永远浪费。
似乎与永久磁盘无关,而与引导磁盘无关?
答案 0 :(得分:1)
我终于发现,由于数据无法确认我要加载到的BigQuery表的架构,因此卡在了耗尽中。虽然没有明确的消息。我需要手动加载生成的文件数据流,以查看实际的错误消息。
并且根本原因是,当我想将字符串值"null"
写入表中的非空字符串列时,Beam SDK会以某种方式将该值解析为null
,然后失败。