重命名TableRow属性名称

时间:2018-05-30 22:57:07

标签: java json google-bigquery google-cloud-dataflow

我从源REST端点读取JSON并写入BigQuery表。我想让BigQuery表属性更具可读性,即。从src_lat到source_latitude等......

我设法创建了一个适合目的的TableSchema定义,我的问题是如何将TableRow定义从源映射到新的目标属性?

1 个答案:

答案 0 :(得分:1)

https://developers.google.com/api-client-library/java/google-http-java-client/reference/1.20.0/com/google/api/client/json/CustomizeJsonParser结合使用JsonFactory.parse() ...这允许自定义解析器,以便解析到具有不同字段名称的目标类对象。您必须extend CustomizeJsonParser并实现方法handleUnrecognizedKey,该方法正在为所有字段键调用,这些字段键无法直接映射,然后正确地重新映射这些字段,例如。在switch声明中。

还可以使用Jackson Streaming API重新映射字段,请参阅此example