Hadoop 如何在impala中查询数组元素?
我在impala中创建了一个表,表有两列Hadoop 如何在impala中查询数组元素?,hadoop,hive,impala,Hadoop,Hive,Impala,我在impala中创建了一个表,表有两列 +-----------+---------------------+---------+ | name | type | comment | +-----------+---------------------+---------+ | unique_id | string | | | cmap | array<struct< |
+-----------+---------------------+---------+
| name | type | comment |
+-----------+---------------------+---------+
| unique_id | string | |
| cmap | array<struct< | |
| | fieldname:string, | |
| | fieldid:string, | |
| | fielddata:string | |
| | >> | |
+-----------+---------------------+---------+
我编写了这个sql,但无法查询它,但我在表中插入了数据
sql:
select unique_id from s_click_parquet,s_click_parquet.cmap as lst where ( fieldname="ip" and fieldData="192.168.1.145") and(fieldname="wid" and fielddata="15");
通常使用方括号访问数组,但可以使用结构数组,而不仅仅是数组 可以内联struct数组使其成为多行,也可以将字段拆分为可查询的列 然后可以像查询普通表一样查询它 玩弄
select *
from table1 t
lateral view inline(cmap) a;
唯一的Id字符串,cmap数组有表列描述impala中是否支持侧视图?我在文档中没有找到它实际上表示不支持
select *
from table1 t
lateral view inline(cmap) a;