根据映射列中的键选择数据
Selecting data based on key in map column
我有一个复杂的数据类型作为列,它是一个带有嵌套数组的映射:map<int,array<int>>
。数据如下所示:
| date | id | info |
|------------|----|---------------------------|
| 2021-07-01 | 1 | {123:[a,b,c],111:[3,6,9]} |
| 2021-07-01 | 2 | null |
| 2021-07-01 | 3 | {123:[1,3]} |
| 2021-07-01 | 4 | {40:[2]} |
如何根据信息栏的key进行筛选?例如,要 return 所有以 123
为键的行?我看到的文档似乎没有示例 - https://cwiki.apache.org/confluence/display/hive/languagemanual+types#LanguageManualTypes-ComplexTypes
预期输出如下所示:
| date | id | info |
|------------|----|---------------------------|
| 2021-07-01 | 1 | {123:[a,b,c],111:[3,6,9]} |
| 2021-07-01 | 3 | {123:[1,3]} |
只过滤info[123] is not null
:
select *
from table
where info[123] is not null
我有一个复杂的数据类型作为列,它是一个带有嵌套数组的映射:map<int,array<int>>
。数据如下所示:
| date | id | info |
|------------|----|---------------------------|
| 2021-07-01 | 1 | {123:[a,b,c],111:[3,6,9]} |
| 2021-07-01 | 2 | null |
| 2021-07-01 | 3 | {123:[1,3]} |
| 2021-07-01 | 4 | {40:[2]} |
如何根据信息栏的key进行筛选?例如,要 return 所有以 123
为键的行?我看到的文档似乎没有示例 - https://cwiki.apache.org/confluence/display/hive/languagemanual+types#LanguageManualTypes-ComplexTypes
预期输出如下所示:
| date | id | info |
|------------|----|---------------------------|
| 2021-07-01 | 1 | {123:[a,b,c],111:[3,6,9]} |
| 2021-07-01 | 3 | {123:[1,3]} |
只过滤info[123] is not null
:
select *
from table
where info[123] is not null