流处理时,旧处理的数据会怎样?

时间:2019-11-12 09:10:49

标签: spark-streaming

我正在使用kafka和spark-streaming为客户服务中心开发队列报告程序。

程序基本上报告客户的实时计数和平均等待时间。但是spark只需要处理当今的数据。我可以使用创建的日期字段过滤数据。但是一件事仍然未知。不再需要我的旧数据(昨天的数据)会发生什么情况。没有删除操作。还在记忆中吗?如何清除不再需要的数据集行?

sparkSession
        .readStream()
            .format("kafka")
            .option("kafka.bootstrap.servers", "192.168.0.201:9092")
            .option("subscribe", "ticket")
            .load()
        .selectExpr("CAST(value AS STRING) as message")
            .select(from_json(col("message"), schema).as("t"))
        .filter(col("t.created_day").equalTo(current_date()))
        .rollup("type")
        .agg(
            avg("t.waitedDuration"),
            count("*")
            // more aggreations
        )

0 个答案:

没有答案