В таблице в hive есть поле
segments array<struct<id:bigint, lm:bigint, prob:float>>
Как я могу проверить, что в массив входят одновременно две структуры с id = 1 и id = 2 ?
Например:
[(1, 1699760620, 0.1), (2, 1699760620, 0.1), (3, 1699760620, 0.1)] -> True
[(1, 1699760620, 0.1), (3, 1699760620, 0.1), (3, 1699760620, 0.1)] -> False
Может быть как-то можно создать вычисляемое поле
ids array<id>
, которое будет содержать все id из массива структур (segments)? Тогда можно было бы просто написать
...
WHERE 1 in ids and 2 in ids