当我使用DataFlow作业执行BigQuery查询时,我得到的TableRow对象因此没有返回那些作为记录类型列的列(Flatten out)
Java代码:
p.apply(BigQueryIO.Read.fromQuery(getQuery()))
查询:
SELECT BASM。,BAS。 FROM
(从(FLATTEN([data.base_audience_segment_map20160817],user_ids.rmId)中选择user_ids.rmId AID,id,user_ids.regis,segment_id))BASM
加入
(从[data.base_audience_segments]中选择category,sub_category,type,name,segment_id,last_compute_day,description)BAS
上
BASM.segment_id = BAS。 segment_id order by BASM.AID,BASM.id limit 100
如果您在上面的查询中看到user_ids.rmId是可重复记录类型列。
先谢谢
答案 0 :(得分:0)
我认为默认行为是,如果您的查询返回列的空值,那么该列在TableRow对象下将不可见
答案 1 :(得分:0)
您可能希望使用BigQueryIO
without result flattening。
p.apply(BigQueryIO.Read
.fromQuery(getQuery())
.withoutResultFlattening())