TableRow对象未返回dataFlow Job中的记录类型列

时间:2016-08-19 21:07:18

标签: google-bigquery google-cloud-dataflow

当我使用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是可重复记录类型列。

先谢谢

2 个答案:

答案 0 :(得分:0)

我认为默认行为是,如果您的查询返回列的空值,那么该列在TableRow对象下将不可见

答案 1 :(得分:0)

您可能希望使用BigQueryIO without result flattening

p.apply(BigQueryIO.Read
    .fromQuery(getQuery())
    .withoutResultFlattening())