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

Время ожидания возникает, когда я использую 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, все идет хорошо.

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

Большое спасибо за вашу помощь.:)

0 ответов

Другие вопросы по тегам