null使用数据流从BQ读取时的TableCell

时间:2016-02-10 20:27:42

标签: google-bigquery google-cloud-dataflow

使用数据流从BigQuery表读取时,我得到了null元素,如下所示

private static class ParseBQInput extends DoFn<TableRow, KV<String, MyClass> > {
    @Override
    public void processElement(ProcessContext c) throws Exception {
        TableRow row = c.element();
        List<TableCell> cells = row.getF();
        if (cells == null) {
            throw new RuntimeException("Get null cells");
        }

        // Other operation
    }
}

我用row.getF()提取的单元格无效,无论我读取哪个表。 我注意到有类似的问题已经被问到here但是答案对我来说有点不清楚...我已经尝试将库版本更新到1.3.0但似乎问题仍未解决。 (由于某些依赖性问题,在当前版本中转到1.4.0版本有点痛苦......)

(作为堆叠溢出的新手,我没有足够的积分来发表评论,所以不得不再次问这里......)

1 个答案:

答案 0 :(得分:1)

如更新后的https://stackoverflow.com/a/35326342/4392693所述,新版本不支持getF()。请使用get("fieldname")。感谢您的耐心等待。