0

我想在 Apache Beam(JAVA Sdk)中的 2 个 BigQuery 表上执行 leftOuterJoin。

  1. 我阅读了表格(leftTableCollection& rightTableCollection)并且属于PCollection<TableRow>.

  2. 将它们转换为形式,PCollection<KV<String, TableRow>>即 <join-key, table-row>

  3. 我正在Join.leftOuterJoin使用org.apache.beam.sdk.extensions.joinlibrary.Join

`

PCollection<KV<String, TableRow>> leftTableKVCollection =
    leftTableCollection.apply(ParDo.of(new ExtractLeftTableDoFn()));
PCollection<KV<String, TableRow>> rightTableKVCollection =
    rightTableCollection.apply(ParDo.of(new ExtractRightTableDoFn()));

TableRow rightTableNullValues = ???

PCollection<KV<String, KV<TableRow, TableRow>>> joinKvResults =
    Join.leftOuterJoin(leftTableKVCollection, rightTableKVCollection, rightTableNullValues);

`

我无法弄清楚在rightTableNullValues这里传递什么?

尝试使用new TableRow()which 引发unable to serialize错误。

任何建议都会非常有帮助。TIA

4

0 回答 0