Dar*_*bis 5 java google-cloud-platform google-cloud-dataflow
我们正在尝试在云中运行Google Cloud Dataflow作业,但我们不断收到"java.lang.OutOfMemoryError:Java堆空间".
我们正在尝试从Big Query表处理6.1亿条记录,并将处理过的记录写入12个不同的输出(主+ 11侧输出).
我们已经尝试将实例数增加到64个n1-standard-4个实例,但我们仍然遇到了这个问题.
即使实例具有15GB内存,VM上的Xmx值似乎也设置为~4GB(-Xmx3951927296).有没有办法增加Xmx值?
工作ID是 - 2015-06-11_21_32_32-16904087942426468793
您不能直接设置堆大小。然而,Dataflow 会根据机器类型缩放堆大小。您可以通过设置标志“--machineType”来选择具有更多内存的机器。堆大小应随机器类型的总内存线性增加。
Dataflow 故意限制堆大小,以避免对洗牌器产生负面影响。
您的代码是否显式地累积内存中多个记录的值?您认为 4GB 是否不足以满足任何给定记录?
Dataflow 的内存要求应随着单个记录的大小以及代码在内存中缓冲的数据量而变化。数据流的内存要求不应随着记录数量的增加而增加。
| 归档时间: |
|
| 查看次数: |
1031 次 |
| 最近记录: |