Spark Структурированная потоковая передача. Считайте, что Кафка показывает проблему тайм-аута при использовании dropDuplicates. - PullRequest
0 голосов
/ 17 декабря 2018

Время ожидания происходит, когда я использую dropDuplicates.

Настройка следующая,

1) Программа Spark Structured Streaming Program считывает данные из Kafka

2) Поскольку мне нужно дедуплицировать строки в соответствии со столбцом с именем id, для решения этой проблемы используется метод dropDuplicates, предоставляемый Spark Structured Streaming.Ниже приведены соответствующие коды:

 // df is the original dataframe got from kafka
 val win_data = df.select($"value" cast "string" as "json")
  .select(from_json($"json", schema) as "data")
  .select("data.*")
  .withWatermark("window", "1 hour")
  .dropDuplicates("id", "window")
  .drop("id")

На самом деле этот код может работать в течение нескольких дней.К сожалению, проблема тайм-аута чтения из Kafka определенно может возникнуть.Если я просто отключить строку dropDuplicates, все идет хорошо.

Итак, несколько советов по этому вопросу?

Благодарим Вас за помощь.:)

...