如何在不使用fromQuery()方法的情况下使用Google云端数据流从Bigquery中仅读取所需记录?

时间:2018-08-17 05:26:59

标签: apache google-cloud-dataflow apache-beam

我只想使用apache Beam从bigquery表中读取所需的数据,而不会在我的数据流作业中触发查询。 示例代码:

BigQueryIO.read(new SerializableFunction<SchemaAndRecord, TableRow>()
        {
            private static final long serialVersionUID = 1L;

            @Override
            public TableRow apply(SchemaAndRecord input) 
            {
                if (input.getRecord().get("id")!=null && input.getRecord().get("id").toString().equals("2"))
                {
                    LOG.info(input.getRecord().get("id").toString());

                    TableRow tr1 = new TableRow();

                    tr1.set("id1", "2").set("name", "anshul");
                    return tr1;
                }
                else
                {
                    return null;
                }
            }

        })

但是问题是它返回相同数量的表行,只是不同之处在于不需要行为空。

0 个答案:

没有答案