Получение либо исключения "java.lang.NoSuchFieldError: METASTORE_CLIENT_SOCKET_LIFETIME", либо "Обязательное поле 'client_protocol' не установлено!"
Я использую Структурированную Потоковую передачу Spark 2.1 (которая внутренне использует банки Jive 1.2.1). Я пытаюсь разработать ForEachWriter для Hive для записи потоковых данных в Hive через JDBC-коннектор.
На моем кластере у меня Hive 1.1.0.
Если я использую Hive jdbc jar версии 1.2.1, то получаю исключение из-за несоответствия в версии клиента и сервера Hive:
Required field 'client_protocol' is unset!
И если я использую Jive Jive Hive версии 1.1.0, то я получаю исключение в Spark, как показано ниже:
Caused by: java.lang.NoSuchFieldError: METASTORE_CLIENT_SOCKET_LIFETIME
Приходит при инициализации HiveContex
банка SparkSession
,
1 ответ
Я столкнулся с той же проблемой и обнаружил HIVE-9508. Я предлагаю вам обновить улей до версии 1.2.1 или новее.