Google Cloud Datalow:Getting 运行时出现以下错误
Google Cloud Datalow:Getting a below error at runtime
我正在使用我的数据流模板将数据写入嵌套数组 BQ table(table 中的数组名称是 -merchant_array)。
有时它 运行 正常并加载数据但有时它在 运行 时给我那个错误。
java.lang.RuntimeException: org.apache.beam.sdk.util.UserCodeException: com.fasterxml.jackson.databind.JsonMappingException: Null key for a Map not allowed in JSON (use a converting NullKeySerializer?) (through reference chain: com.google.api.services.bigquery.model.TableRow["null"])
"message" : "读取数据时出错,错误消息:JSON 从位置 223615 开始的行中的解析错误:只能将可选字段设置为 NULL。字段:merchant_array;值: 空",
任何人都知道为什么我会收到此错误。
提前致谢。
这里我遇到了导致错误的问题,所以我发布了我自己的问题的答案,它可能对任何人都有帮助。
所以错误就像是-
只有可选字段可以设置为 NULL。字段:merchant_array;值:NULL",
这里merchant_array定义为一个包含记录(重复)数据的数组。
根据 google doc 数组不能是-
ARRAY 不能为 NULL。
NULL ARRAY 元素不能持久化到 table.
同时我在我的代码中使用了 arraylist,它允许空值。因此,在代码中创建记录类型数据或在 arraylist 中设置数据之前,只需删除 NULL tablerows if exist.
希望这对您有所帮助。
我正在使用我的数据流模板将数据写入嵌套数组 BQ table(table 中的数组名称是 -merchant_array)。 有时它 运行 正常并加载数据但有时它在 运行 时给我那个错误。
java.lang.RuntimeException: org.apache.beam.sdk.util.UserCodeException: com.fasterxml.jackson.databind.JsonMappingException: Null key for a Map not allowed in JSON (use a converting NullKeySerializer?) (through reference chain: com.google.api.services.bigquery.model.TableRow["null"])
"message" : "读取数据时出错,错误消息:JSON 从位置 223615 开始的行中的解析错误:只能将可选字段设置为 NULL。字段:merchant_array;值: 空",
这里我遇到了导致错误的问题,所以我发布了我自己的问题的答案,它可能对任何人都有帮助。
所以错误就像是-
只有可选字段可以设置为 NULL。字段:merchant_array;值:NULL",
这里merchant_array定义为一个包含记录(重复)数据的数组。
根据 google doc 数组不能是-
ARRAY 不能为 NULL。
NULL ARRAY 元素不能持久化到 table.
同时我在我的代码中使用了 arraylist,它允许空值。因此,在代码中创建记录类型数据或在 arraylist 中设置数据之前,只需删除 NULL tablerows if exist.
希望这对您有所帮助。