Spark-使用Java从Kafka(合流JDBC)读取AVRO数据
我正在使用JDBC连接器将数据从mysql数据库流式传输到kafka主题。这是可行的,我可以使用avro console consumer查看卡夫卡主题中的数据。现在我想读取这些数据来执行一些简单的过滤操作。我计划使用Spark或Confluent Consumer。使用spark的问题是,我无法使用spark JavaInputDStream读取数据。我需要从kafka读取数据,并从avro格式反序列化为JSON,以便执行一些过滤。我找不到可以参考的JAVA示例。有人能指出一些文件或资料来源吗 编辑:我调查了一下: 我已将Avro maven依赖项包括在我的java项目中:Spark-使用Java从Kafka(合流JDBC)读取AVRO数据,java,apache-spark,confluent-platform,confluent-schema-registry,Java,Apache Spark,Confluent Platform,Confluent Schema Registry,我正在使用JDBC连接器将数据从mysql数据库流式传输到kafka主题。这是可行的,我可以使用avro console consumer查看卡夫卡主题中的数据。现在我想读取这些数据来执行一些简单的过滤操作。我计划使用Spark或Confluent Consumer。使用spark的问题是,我无法使用spark JavaInputDStream读取数据。我需要从kafka读取数据,并从avro格式反序列化为JSON,以便执行一些过滤。我找不到可以参考的JAVA示例。有人能指出一些文件或资料来源吗
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-avro_2.12</artifactId>
<version>2.4.3</version>
</dependency>
org.apache.spark
spark-avro_2.12
2.4.3
但是我找不到to_avro和from_avro函数。
我举这个例子:
Dataset<Row> output = df
.select(from_avro (col("value"), jsonFormatSchema).as("user"))
.where("user.favorite_color == \"red\"")
.select(to_avro (col("user.name")).as("value"))
Dataset输出=df
.选择(从_avro(col(“value”)、jsonFormatSchema.as(“用户”))
.where(“user.favorite\u color==“red\”)
。选择(to_avro(col(“user.name”))。作为(“value”))
Spark无法以本机方式读取与Spark Avro合流的Avro格式。在这里查看各种解决方案