Я пытаюсь прочитать данные из защищенного кластера Kafka с использованием потоковой структурированной искры. Также я использую приведенную ниже библиотеку для чтения данных - «spark- sql -kafka-0-10_2.12»: «3.0.0-preview», так как она имеет функцию для указания нашего пользовательского идентификатора группы (вместо spark установка собственного пользовательского идентификатора группы)
Зависимость, используемая в коде:
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql-kafka-0-10_2.12</artifactId>
<version>3.0.0-preview</version>
Я получаю приведенную ниже ошибку - даже после указания требуемой конфигурации JAAS в параметрах искры.
Причина: java .lang.IllegalArgumentException: требование не выполнено: для этого соединителя должен существовать маркер делегирования. at scala .Predef $ .require (Predef. scala: 281) в org. apache .spark.kafka010.KafkaTokenUtil $ .isConnectorUsingCurrentToken (KafkaTokenUtil. scala: 299) в орг. . apache .spark. sql .kafka010.KafkaDataConsumer. $ Anonfun $ get $ 1 (KafkaDataConsumer. scala: 275)
В следующем документе указано, что мы можем отключить функцию получения токена делегирования - https://spark.apache.org/docs/3.0.0-preview/structured-streaming-kafka-integration.html
I Trie d установите для этого свойства spark.security.credentials.kafka.enabled
значение false
в конфигурации config, но оно по-прежнему не выполняется с той же ошибкой.