我在impala
创建了一个表,有两列,
+-----------+---------------------+---------+
| name | type | comment |
+-----------+---------------------+---------+
| unique_id | string | |
| cmap | array<struct< | |
| | fieldname:string, | |
| | fieldid:string, | |
| | fielddata:string | |
| | >> | |
+-----------+---------------------+---------+
我需要设置cmap查询unique_id的条件,例如
(fieldname="ip"and fielddata="192.168.1.145") and(fieldname="wid" and fielddata="15")
我写了这个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");
答案 0 :(得分:0)
您通常使用方括号访问数组,但是您可以拥有一个结构数组,而不仅仅是一个数组。
您可以{{1}}一个struct数组来使其成为多行,并将字段拆分为可查询列。
然后你可以像普通表一样查询它。
玩
{{1}}