为什么BigtableIO在GroupBy / Combine DoFn之后逐个写入记录?

时间:2017-06-26 11:12:33

标签: bigtable apache-beam apache-beam-io

有人知道这些捆绑包在BigtableIO中是如何工作的吗?在使用GroupByCombine DoFn之前,一切正常。此时,管道会将PCollection元素的窗格从PaneInfo.NO_FIRING更改为PaneInfo{isFirst=true, isLast=true, timing=ON_TIME, index=0, onTimeIndex=0},然后BigtableIO将输出以下日志INFO o.a.b.sdk.io.gcp.bigtable.BigtableIO - Wrote 1 records。当一个记录要输出数百万条记录时,日志记录是否会导致性能问题,或者BigtableIO是否为每条记录打开和关闭一个编写器?

1 个答案:

答案 0 :(得分:1)

BigtableIO在批处理RPC中发送多个记录。但是,假设在" bundle"中发送了多个记录。捆绑包大小取决于事先步骤和Dataflow框架的组合。您所看到的问题似乎并未直接与BigtableIO相关。

FWIW,here是用于记录finishBundle()方法中记录数量的代码。