Spark 2.3 до Spark 2.4 Обновление. Проблемы с чтением разделенных таблиц HIVE - PullRequest
0 голосов
/ 04 февраля 2020

Недавно мы обновили нашу среду подготовки к выпуску 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, но после перезапуска программного обеспечения ошибка остановилась.

Есть ли кто-либо в сообществе, кто испытал та же проблема? Каково было решение для этого?

1 Ответ

0 голосов
/ 04 февраля 2020

spark. sql .hive.convertMetastoreOrc Вышеуказанное свойство Spark SQL отключено в 2.3 и включено в 2.4. Включение этого свойства приводит к преобразованию таблицы Hive в таблицу источника данных. Я считаю, что в этом случае преобразование таблицы Hive в таблицу источника данных вызвало проблему.
Можем ли мы set spark.sql.hive.convertMetastoreOrc=false и выполнить запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...