在亚马逊雅典娜,
我在一行中有一个JSON形式的数据文件
{ a: 1, b: 2 }
{ a: 2, b: 4 }
{ a: 3, b: 6 }
是否可以在仅使用字段a
创建表时输出整行数据?
SELECT ??? FROM table1 WHERE a > 1;
输出
{ a: 2, b: 4 }
{ a: 3, b: 6 }
由于
答案 0 :(得分:0)
在hive中有功能 concat(sting,string,...)可以使用,但我怀疑Athena支持UDF。
示例代码
SELECT concat('{ a: ' , cast(a as string),', b:' ,cast(a as string), ' }' )FROM table1 WHERE a > 1;
评论后更新
如果您必须在基表顶部创建表格表格限制列创建视图。
答案 1 :(得分:0)
如果您的专栏是JSON
,则可以,然后您可以在Athena
中将其解压缩为:
SELECT *
FROM my_table
WHERE cast(json_extract_scalar(column_name,
'$.a') as integer) > 1;