我想在 Apache Beam(JAVA Sdk)中的 2 个 BigQuery 表上执行 leftOuterJoin。
我阅读了表格(
leftTableCollection
&rightTableCollection
)并且属于PCollection<TableRow>
.将它们转换为形式,
PCollection<KV<String, TableRow>>
即 <join-key, table-row>我正在
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