在亚马逊雅典娜,我有一些数据文件,一行一个json格式
{ a: 1, b: 2 } { a: 2, b: 4 } { a: 3, b: 6 }
当只使用字段创建表时,是否可以输出整行数据 a ?
a
SELECT ??? FROM table1 WHERE a > 1;
输出
{ a: 2, b: 4 } { a: 3, b: 6 }
谢谢
cclgggtu1#
hive中有concat函数(sting,string,…),可以使用,但我怀疑athena是否支持udfs。样本代码
SELECT concat('{ a: ' , cast(a as string),', b:' ,cast(a as string), ' }' )FROM table1 WHERE a > 1;
评论后更新如果必须在基表的顶部创建表窗体限制列,请创建视图。
sbtkgmzw2#
如果你的专栏是 JSON 然后你可以把它提取出来 Athena 因此:
JSON
Athena
SELECT * FROM my_table WHERE cast(json_extract_scalar(column_name, '$.a') as integer) > 1;
2条答案
按热度按时间cclgggtu1#
hive中有concat函数(sting,string,…),可以使用,但我怀疑athena是否支持udfs。
样本代码
评论后更新
如果必须在基表的顶部创建表窗体限制列,请创建视图。
sbtkgmzw2#
如果你的专栏是
JSON
然后你可以把它提取出来Athena
因此: