2

有没有办法打印出传入的数据?例如,我在寻找 JSON 文件的文件夹上有一个 readStream,但似乎存在问题,因为我在聚合输出中看到“空值”。

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()
4

1 回答 1

1

要打印数据,您可以在写入流中添加 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")
于 2017-07-18T05:21:35.293 回答