Hadoop 如何获取配置单元中复杂数据类型列的长度

Hadoop 如何获取配置单元中复杂数据类型列的长度,hadoop,hive,apache-spark-sql,Hadoop,Hive,Apache Spark Sql,我有一个配置单元表,其中包含array和map类型的列,我想筛选array/map列包含多于N个元素的记录,如何操作 DDL: create table test (id string, v1 array<int>, v2 map<string,string>) select * from test where length(v1)>10 or length(v2)>10 演示 select * from test where size(v1)>

我有一个配置单元表,其中包含
array
map
类型的列,我想筛选array/map列包含多于N个元素的记录,如何操作

DDL:

create table test (id string, v1 array<int>, v2 map<string,string>)
select * from test where length(v1)>10 or length(v2)>10

演示


select * from test where size(v1)>10 or size(v2)>10
create table test (id string, v1 array<int>, v2 map<string,string>);
insert into test select 1,array(1,2,3,4,5),map('K1','V1','K2','V2','K3','V3');
select  size(v1),size(v2)
from    test
;
+----+----+
| c0 | c1 |
+----+----+
|  5 |  3 |
+----+----+