根据映射列中的键选择数据

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