Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在prestodb/athena中将json对象转换为数组_Json_Struct_Presto_Amazon Athena - Fatal编程技术网

如何在prestodb/athena中将json对象转换为数组

如何在prestodb/athena中将json对象转换为数组,json,struct,presto,amazon-athena,Json,Struct,Presto,Amazon Athena,我有一个JSON对象,它的格式是data={“1”:{“col1”:“a”,“col2”:“b”},“2”:{“col1”:“c”,“col2”:“d”}……,“99”:{“col1”:“asd”,“col2”:“exm”}。我想用雅典娜获得colu 1和colu 2的所有值。我如何使用雅典娜实现这一点 忽略它是JSON格式(因为它不够简单),使用regex函数: SELECT regexp_extract_all(column_data, '"col1":"([a-z]+)",'); -- [

我有一个JSON对象,它的格式是
data={“1”:{“col1”:“a”,“col2”:“b”},“2”:{“col1”:“c”,“col2”:“d”}……,“99”:{“col1”:“asd”,“col2”:“exm”}。
我想用雅典娜获得colu 1和colu 2的所有值。我如何使用雅典娜实现这一点

忽略它是JSON格式(因为它不够简单),使用regex函数:

SELECT regexp_extract_all(column_data, '"col1":"([a-z]+)",'); -- [a, c, ... asd]

我可以通过将它转换为地图,然后像这样取消对它的测试来解决它

从表中选择键、值,其中
unnest(cast(json_parse(data)as Map(varchar,json))as t(key,value))

是存储在S3上的文件中的一条记录吗?或者它是表中特定列中的记录?还有雅典娜/胶水中定义的表格吗?如果是这样的话,你能用SHOW CREATE提供它的定义吗?)好的,结构是这样的{results:{data:{“1”:{“col1”:“a”,“col2”:“b”},“2”:{“col1”:“c”,“col2”:“d”}……,“99”:{“col1”:“asd”,“col2”:“exm”}}}我不得不用MAP替换MAP(VARCHAR,JSON),然后它为我工作了