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