在 PrestoDB 中使用 json_parse 时,如何忽略无效的 JSON?
How do I ignore invalid JSON when using json_parse with PrestoDB?
我对 Presto 还很陌生,我正在尝试解析一堆包含 JSON 数据的记录。似乎某些数据无效,这导致 Presto 在调用 json_parse
期间中止查询。在这种情况下,是否有可能以某种方式 return NULL 而不是抛出错误?
以前您似乎可以使用 try_cast(value as json)
,但为了 json_parse
而将其删除。是否有任何我可以更改的配置来解决这个问题,或者我是否需要求助于创建自定义 SerDe?
看起来 json_extract(data, '$')
将 return NULL 表示无效 JSON:
presto:default> select json_extract('{', '$');
_col0
-------
NULL
(1 row)
我对 Presto 还很陌生,我正在尝试解析一堆包含 JSON 数据的记录。似乎某些数据无效,这导致 Presto 在调用 json_parse
期间中止查询。在这种情况下,是否有可能以某种方式 return NULL 而不是抛出错误?
以前您似乎可以使用 try_cast(value as json)
,但为了 json_parse
而将其删除。是否有任何我可以更改的配置来解决这个问题,或者我是否需要求助于创建自定义 SerDe?
看起来 json_extract(data, '$')
将 return NULL 表示无效 JSON:
presto:default> select json_extract('{', '$');
_col0
-------
NULL
(1 row)