使用Aggregate将输出保存到Spark Streaming中的Hadoop

时间:2016-10-30 04:16:54

标签: scala hadoop spark-streaming

我正在使用Spark进行结构化流式传输。我正在尝试将查询的输出保存到Hadoop系统。但是存在两难:因为我使用聚合,我必须将输出模式设置为“完整”,同时,文件接收器仅适用于镶木地板。有什么解决方法吗?以下是我的代码:

val userSchema = new StructType().add("user1", "integer")
    .add("user2", "integer")
    .add("timestamp", "timestamp")
    .add("interaction", "string")

val tweets = spark
      .readStream
      .option("sep", ",")
      .schema(userSchema)
      .csv(streaming_path)

val windowedCounts = tweets.filter("interaction='MT'")
      .groupBy(
        window($"timestamp", "10 seconds", "10 seconds")
      ).agg(GroupConcat($"user2")).sort(asc("window"))

val query = windowedCounts.writeStream
  .format("parquet")
  .option("path", "partb_q2")
  .option("checkpointLocation", "checkpoint")
  .start()
query.awaitTermination()

0 个答案:

没有答案