Отличный счетчик по столбцу в наборе данных в стриктурированном потоке - PullRequest
0 голосов
/ 20 ноября 2018

Я новичок в теме потоковой передачи.Таким образом, возникает проблема при расчете различного числа в столбце в наборе данных / кадре данных.

// DataFrame

val readFromKafka = sparksession.readStream.format("kafka").option("kafka.bootstrap.servers", bootstrapServer).option("subscribe", topic).option("failOnDataLoss", "false").load()

// Набор данных [(String, Timestamp)]

val selected_readFromKafka = inPutStreamData.selectExpr("CAST(value AS STRING)", "CAST(timestamp AS TIMESTAMP)").as[(String, Timestamp)]

// Набор данных [(Int, Int, String, Timestamp)]

val final_Data = selected_readFromKafka.map(f => {
      val no1 = f._1.split('|').apply(0).toInt
      val no2 = f._1.split('|').apply(1).toInt
      val data = f._1.split('|').apply(2)
      (no1, no2, data, f._2)
    })

Так как же мы можем рассчитать различное число в столбцах № 1, № 2 final_Data.

val count = final_Data...... ?

Используйте count переменную на карте ниже.

val selected_readFromKafka_Next = selected_readFromKafka.map(f => {
      KafkaOutputResponse(
          count,
          "","",f.data
       )
    })


selected_readFromKafka_Next.writeStream.format("console").option("truncate", "false").start().awaitTermination()

Заранее спасибо.

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