Hive 'is null' проблема проверки для полей структуры - PullRequest
1 голос
/ 30 марта 2020

Кажется, что есть странное поведение для NULL-проверок для структурных полей. Условие where some_struct_field is not null возвращает строки, в которых some_struct_field фактически равно нулю.
Кто-нибудь сталкивался с этой проблемой или посоветовал, как с ней справиться?

Формат хранения: паркет
Версия куста: 2.2 .0

Схема выглядит следующим образом:

CREATE EXTERNAL TABLE IF NOT EXISTS event(
  key STRING,
  ts BIGINT,
  info STRUCT<
      id: BIGINT,
      message: BIGINT>
)
PARTITIONED BY(event_date STRING)
STORED AS PARQUET
LOCATION '/logs/events';

Запрос с неверным результатом:

SELECT * FROM event where event_date = '20200401' and info is not null;

Запрос с правильным результатом:

SELECT * FROM event where event_date = '20200401' and info.id is not null;
...