如果一个hive 表的一个字段 A 是array类型,里面存在多个值,如果要对其中的某个值进行过滤,那么可以用lateral view 结合UDTF (User-Defined Table-Generating Functions) 来进行过滤
Lateral View语法
lateralView: LATERAL VIEW udtf(expression) tableAlias AS columnAlias (',' columnAlias)* fromClause: FROM baseTable (lateralView)*
例如:real_id是一个arr类型
SELECT count(1) FROM 表名 LATERAL VIEW explode(real_id) rTable AS realid where realid ='7057'