Недавно мы обновили нашу среду подготовки к выпуску Spark 2.3 до Spark 2.4.0
. В то же время мы создали большое количество таблиц в Hive Metastore, разделенных на 2 поля, одно из которых - String, а другое - BigInt. .
Мы читали эти таблицы с помощью Spark 2.3 без проблем, но после обновления до Spark 2.4 мы получаем следующий журнал каждый раз, когда запускаем наше ПО:
log_filterBIGINT .out:
Причина: MetaException (сообщение: фильтрация поддерживается только для ключей раздела типа string) Причина: MetaException (сообщение: фильтрация поддерживается только для ключей раздела строки типа) : MetaException (сообщение: фильтрация поддерживается только для ключей раздела типа string)
имела oop -cmf-hive-HIVEMETASTORE-isblcsmsttc0001.scisb.isban.corp.log.out.1:
2020-01-10 09: 36: 05,781 ОШИБКА org. apache .had oop .hive.metastore.RetryHMSHandler: [pool-5-thread-138]: MetaException (сообщение: фильтрация поддерживается только для ключей раздела типа string)
2020-01-10 11: 19: 19,208 ОШИБКА org. apache .had oop .hive.metastore.RetringHMSHandler: [pool-5-thread-187] : MetaException (сообщение: фильтрация поддерживается только для ключей секционирования типа строка)
2020-01-10 11: 19: 54,780 ОШИБКА org. apache .had oop .hive.metastore.RetringHMSHandler: [pool-5-thread-167]: MetaException (сообщение: фильтрация поддерживается только для ключей секционирования типа string)
Мы знаем лучшие практики с точки зрения Spark использовать столбец типа STRING, но нам нужно найти решение, которое мы сможем легко развернуть из-за большого количества таблиц, созданных с помощью раздела столбцов типа bigiint.
Как первое решение, которое мы попытались установить для параметра spark. sql .hive.manageFilesourcePartitions в false в Spark Submmit, но после перезапуска программного обеспечения ошибка остановилась.
Есть ли кто-либо в сообществе, кто испытал та же проблема? Каково было решение для этого?