Как работает Trigger в Spark Structured Streaming? - PullRequest
1 голос
/ 26 июня 2019

Я просматривал структурированные потоковые документы с интервалом запуска: https://spark.apache.org/docs/latest/structured-streaming-programming-guide.html#triggers

Я использовал интервал триггера как 30 секунд при публикации данных в kafka

val query = dfToWriteInKafka.writeStream

  .queryName("kafkaWriter")
  .format("kafka")
  .outputMode("append")
  .trigger(Trigger.ProcessingTime(30000))
  .option("kafka.bootstrap.servers", bootstrapServers)
  .option("topic", topicName)
  .option("checkpointLocation", config.getString("job.checkpoint"))
  .start()

Я вижу, что для первых нескольких прогонов интервал между микропакетами не равен 30 секундам. При последующих запусках пакет запускается через 30 секунд.

Я хочу понять, как он решает, сколько записей выбрать в 1-й серии. Я знаю, что указал местоположение контрольной точки, но почему интервал запуска отличается для первых двух запусков.

Кроме того, как спарк решает, сколько записей выбрать в первом запуске?

Structured Streaming trigger intervals

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...