Ошибка концентратора событий для блоков данных при прекращении потока? - PullRequest
1 голос
/ 07 ноября 2019

Я пытался настроить концепцию, в которой блоки данных Azure считывают данные из моего концентратора событий, используя следующий код:

connectionString = "Endpoint=sb://mystream.servicebus.windows.net/;EntityPath=theeventhub;SharedAccessKeyName=event_test;SharedAccessKey=mykeygoeshere12345"

ehConf = {
  'eventhubs.connectionString' : connectionString
}

df = spark \
  .readStream \
  .format("eventhubs") \
  .options(**ehConf) \
  .load()

readEventStream = df.withColumn("body", df["body"].cast("string"))
display(readEventStream)

Я использую пакет azure_eventhubs_spark_2_11_2_3_6.jar, как рекомендовано здесь но я попробовал последнюю версию и продолжаю получать сообщение

ERROR : Some streams terminated before this command could finish!

Я использовал версию 6.1 для databricks и откатил ее до версии 5.3, но, похоже, не могуполучить его и работает. У меня есть скрипт Python, который отправляет данные в концентратор событий, я просто не вижу ничего из этого? Это пакет? или что-то еще я делаю не так?

Обновление: я загружал библиотеку из загруженного файла JAR. Я удалил это, а затем получил его из репозитория Maven. После тестирования все заработало

1 Ответ

0 голосов
/ 08 ноября 2019

Отлично работает с приведенной ниже конфигурацией:

Время выполнения блока данных: 5,5 LTS (включает Apache Spark 2.4.3, Scala 2.11)

Azure EventHubбиблиотека: com.microsoft.azure:azure-eventhubs-spark_2.11:2.3.13

Используйте описанную выше конфигурацию, чтобы получить поток данных из концентраторов событий Azure.

enter image description here

Ссылка: Интеграция Apache Spark с концентраторами событий Azure

Надеюсь, это поможет.

...