在 PrestoDB 中使用 json_parse 时如何忽略无效的 JSON?

Ben*_*enV 4 json presto

我对 Presto 相当陌生,正在尝试解析一堆包含 JSON 数据的记录。似乎某些数据无效,这导致 Presto 在调用 期间中止查询json_parse。在这种情况下是否可以以某种方式返回 NULL 而不是抛出错误?

似乎以前您可以使用try_cast(value as json),但已被删除以支持json_parse. 我可以更改任何类型的配置来解决此问题,还是需要创建自定义 SerDe?

Ben*_*enV 8

看起来json_extract(data, '$')无效 JSON 将返回 NULL:

presto:default> select json_extract('{', '$');
 _col0 
-------
 NULL  
(1 row)
Run Code Online (Sandbox Code Playgroud)