结构化流式调试输入

时间:2017-07-18 03:00:05

标签: apache-spark spark-structured-streaming

我有办法打印输入的数据吗?对于例如我在一个寻找JSON文件的文件夹上有一个readStream,但是当我看到' nulls'在聚合输出中。

val schema = StructType(
      StructField("id", LongType, false) ::
      StructField("sid", IntegerType, true) ::
      StructField("data", ArrayType(IntegerType, false), true) :: Nil)

val lines = spark.
      readStream.
      schema(schema).
      json("in/*.json")

val top1 = lines.groupBy("id").count()

val query = top1.writeStream
      .outputMode("complete")
      .format("console")
      .option("truncate", "false")
      .start()

1 个答案:

答案 0 :(得分:0)

要打印数据,您可以在写入流中添加queryName,使用您可以打印的queryName。

在你的例子中

val query = top1.writeStream
      .outputMode("complete")
      .queryName("xyz")
      .format("console")
      .option("truncate", "false")
      .start()

运行此命令,您可以使用SQL查询

显示数据
%sql select * from xyz 

或者您可以创建数据框

val df = spark.sql("select * from xyz")