当前位置:  开发笔记 > 编程语言 > 正文

如何使用Java中的结构化流来从Kafka反序列化记录?

如何解决《如何使用Java中的结构化流来从Kafka反序列化记录?》经验,为你挑选了0个好方法。

我使用Spark 2.1.

我试图使用Spark Structured Streaming从Kafka读取记录,反序列化它们并在之后应用聚合.

我有以下代码:

SparkSession spark = SparkSession
        .builder()
        .appName("Statistics")
        .getOrCreate();

Dataset df = spark
        .readStream()
        .format("kafka")
        .option("kafka.bootstrap.servers", kafkaUri)
        .option("subscribe", "Statistics")
        .option("startingOffsets", "earliest")
        .load();

df.selectExpr("CAST(value AS STRING)")

我想要的是将value字段反序列化为我的对象而不是像String.

我有一个自定义反序列化器.

public StatisticsRecord deserialize(String s, byte[] bytes)

我怎么能用Java做到这一点?


我找到的唯一相关链接是这个https://databricks.com/blog/2017/04/26/processing-data-in-apache-kafka-with-structured-streaming-in-apache-spark-2-2 .html,但这是针对Scala的.

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有