Выберите количество (*) проблемы с ульем и искрой - PullRequest
0 голосов
/ 12 сентября 2018

Я получаю правильное количество после запуска оператора ANALYZE.Но моя проблема в том, что его нужно запускать каждый раз, когда счетчик обновляется.Технически я должен быть в состоянии обновить счет для того же раздела.

Но он возвращает то же количество, если я не выполню инструкцию ANALYZE.

Это запрос, который я выполняю для счетчика, который будет обновлен.

ANALYZE TABLE bi_events_identification_carrier_sam PARTITION(year, month, day) COMPUTE STATISTICS;

И выполнение совсем не удобно.есть идеи?

1 Ответ

0 голосов
/ 13 сентября 2018

Ваш запрос количества (*) использует статистику для получения результата.

Если вы используете spark для записи данных, тогда вы можете установить spark.sql.statistics.size.autoUpdate.enabled в true.Это гарантирует, что Spark автоматически обновляет статистику таблицы после завершения записи.

Если вы используете Hive, вы можете установить set hive.stats.autogather=true;.

После включения этих настроек записьзапрос автоматически обновит статистику, и последующий запрос на чтение будет работать нормально.

...