MySQL 的 JSON_REMOVE 的 Athena 等价物是什么?
What is the Athena equivalent of MySQL's JSON_REMOVE?
我想在 Athena 查询范围内从 json 值中删除项目,生成一个新的 json 值。
MySQL 具有函数 JSON_REMOVE
可以很好地完成此操作。
Athena 中的等价物是什么?
我检查了文档,没有发现:
https://docs.aws.amazon.com/athena/latest/ug/extracting-data-from-JSON.html
作为临时 hack,我有时可以在解析 json:
之前使用正则表达式
REGEXP_REPLACE(json, '\"(fieldName|anotherFieldName)\":\"[^"]*\"', ''))
找到答案是将JSON转换为MAP然后使用map_filter
,例如:
select map_filter(cast(json_parse(json) as map<varchar,varchar>), (k,v) -> k !='fieldName') from ...
我想在 Athena 查询范围内从 json 值中删除项目,生成一个新的 json 值。
MySQL 具有函数 JSON_REMOVE
可以很好地完成此操作。
Athena 中的等价物是什么?
我检查了文档,没有发现:
https://docs.aws.amazon.com/athena/latest/ug/extracting-data-from-JSON.html
作为临时 hack,我有时可以在解析 json:
之前使用正则表达式REGEXP_REPLACE(json, '\"(fieldName|anotherFieldName)\":\"[^"]*\"', ''))
找到答案是将JSON转换为MAP然后使用map_filter
,例如:
select map_filter(cast(json_parse(json) as map<varchar,varchar>), (k,v) -> k !='fieldName') from ...