Spark结构化的流groupby什么也不输出

时间:2019-02-26 09:40:32

标签: spark-structured-streaming

我有一个来自kafka的简单json格式数据,如下所示:

{"id":"70f9-6dd3-62e0","status":true,"timestamp":1551172970162}
{"id":"70f9-6dd3-62f5","status":true,"timestamp":1551172970333}
{"id":"70f9-6dd3-62e0","status":false,"timestamp":1551172970786}
{"id":"70f9-6dd3-62f5","status":false,"timestamp":1551172971748}

我想按ID,状态对输入数据进行分组,并按组收集时间戳。

这是代码:

         Dataset<Row> data = spark
                .readStream()
                .format("kafka")
                .option("kafka.bootstrap.servers", bootstrapServers)
                .option(subscribeType, topics)
                .option("startingOffsets", "earliest")
                .load();

        Dataset<Row> json = data.select(from_json(data.col("value").cast("string"), schema));

        Dataset<Row> result = json.groupBy(json.col("id"), json.col("status"))
                .agg(collect_set("timestamp").alias("timestamps"));

        result.writeStream()
                .outputMode("complete")
                .format("console")
                .start();

在控制台上没有任何输出。

我不知道问题是什么。请帮助。

0 个答案:

没有答案