Hive 如何在AWS中从Athena获取结果格式JSON?

Hive 如何在AWS中从Athena获取结果格式JSON?,hive,presto,amazon-athena,Hive,Presto,Amazon Athena,我想从AWS中的Athena获取结果值格式JSON 当我从雅典娜中选择时,结果格式如下 {test.value={report_1=test, report_2=normal, report_3=hard}} 有没有办法在不替换“=”到“:”的情况下获得JSON格式的结果 列格式为 map<string,map<string,string>> map 如果您的输入格式是json(即整行都是json),那么您可以创建一个新表,该表以您指定的任何格式保存athen

我想从AWS中的Athena获取结果值格式JSON

当我从雅典娜中选择时,结果格式如下

{test.value={report_1=test, report_2=normal, report_3=hard}}
有没有办法在不替换“=”到“:”的情况下获得JSON格式的结果

列格式为

map<string,map<string,string>>
map




如果您的输入格式是json(即整行都是json),那么您可以创建一个新表,该表以您指定的任何格式保存athena结果,其中包含了几个可能的选项,如拼花、json、orc等。这最终会将查询的所有athena结果以所需的格式存储在s3存储桶中

希望这有帮助


以下是供参考的文档:

非常感谢。我还有一个问题。当数据与字符串和映射数据混合时,我可以将字符串数据也转换为json格式吗?不客气。如果你有一个特定的问题,那么请使用一个新的帖子。P.s.通过在答案左侧标记
V
符号,即可接受答案。另一个按钮是向上投票,好的。我得到了它。非常感谢。
select  mycol
from    mytable
;
+--------------------------------------------------------------+
|                            mycol                             |
+--------------------------------------------------------------+
| {test.value={report_3=hard, report_2=normal, report_1=test}} |
+--------------------------------------------------------------+
select  cast (mycol as json) as json
from    mytable
;
+--------------------------------------------------------------------------+
|                                   json                                   |
+--------------------------------------------------------------------------+
| {"test.value":{"report_1":"test","report_2":"normal","report_3":"hard"}} |
+--------------------------------------------------------------------------+