Google bigquery 使用数据流从BQ读取时为空TableCell
当使用数据流从BigQuery表中读取时,我得到了null元素,如下所示Google bigquery 使用数据流从BQ读取时为空TableCell,google-bigquery,google-cloud-dataflow,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();
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
}
}
私有静态类ParseBQInput扩展了DoFn{
@凌驾
public void processElement(ProcessContext c)引发异常{
TableRow行=c.元素();
列表单元格=row.getF();
如果(单元格==null){
抛出新的RuntimeException(“获取空单元格”);
}
//其他操作
}
}
无论我读取哪个表,我用row.getF()
提取的单元格都为空。
我注意到已经有人问过类似的问题,但答案对我来说有点不清楚。。。我尝试将库版本更新为1.3.0,但问题似乎仍未解决。(由于某些依赖性问题,在当前版本1.4.0时会有点痛苦…)
(作为堆栈溢出的新手,我没有足够的分数来发表评论,因此必须在这里再次询问…正如更新的中所述,
getF()
在更新的版本中不受支持。请使用get(“字段名”)
。感谢您的耐心。我已经更新了您链接的问题。您是否仍遇到此问题?@Nicholas hey使用get(“fieldname”)
对我很有效。而从不使用getF()
可能重复的