在 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)