从BigQuery的导入文档中,
注意:不允许空值
所以我假设null在 json 格式的数据中不允许 BigQuery 导入。但是,null值实际上在常规 ETL 任务中很常见(由于缺少数据)。导入此类 json 源文件应该是什么好的解决方案?请注意,我的数据包含嵌套结构,因此我不喜欢转换为CSV和使用,,来表示一个null值。
我认为我可以做的一种方法是null分别用不同数据类型的默认值替换所有值,例如,
- 字符串:
null-> 空字符串 - 整数:
null-> -1 - 浮动:
null-> -1.0 - ...
但我不喜欢它。我正在寻找更好的选择。
顺便说一句,我尝试bq load使用包含null值的 json 文件。我收到以下错误:
Failure details:
- Expected '"' found 'n'
- Expected '"' found 'n'
- Expected '"' found 'n'
- Expected '"' found 'n'
- Expected '"' found 'n
...
我认为这是null使用的指示,对吗?
编辑:如果我删除所有null字段,它似乎工作。我想这是处理null数据的方式。你不能拥有null一个数据字段,但你不能包括它。所以我需要一个过滤代码来删除null我的原始 json 中的所有字段。