java - 如何使用 Java 检查从 Spark 结构化流中的 Kafka 获取数据?

标签 java apache-spark apache-kafka spark-structured-streaming

我正在尝试从 kafka 获取数据到 Spark-Structured-Streaming,但我无法检查我是否做得好。我想在控制台上打印来自 kafka 的数据,但控制台上没有任何内容。 可能是因为 Kafka 的数据量很大,但我不知道。

我使用的是 Windows 10。我检查了 kafka 的端口是通过以下方式建立的 “netstat -an | findstr TARGET_IP”。 TARGET_IP 表示kafka生产者的IP。 通过上面结果中的PID,我检查了“tasklist/FI“PID eq 5406””。 5406是java.exe的PID,并且PID 5406使用的内存不断增加。

public static void main( String[] args ) {
    SparkSession spark = SparkSession.builder()
            .master("local")
            .appName("App").getOrCreate();
    Dataset<Row> df = spark
            .readStream()
            .format("kafka")
            .option("kafka.bootstrap.servers", "TARGET_IP:TARGET_PORT")
            .option("subscribe", "TARGET_TOPIC")
            .option("startingOffsets", "earliest")
            .load();
    df.printSchema();
    StreamingQuery queryone = df.writeStream().trigger(Trigger.ProcessingTime(1000)).format("console").start();
    try {
        queryone.awaitTermination();
    } catch (StreamingQueryException e) {
        e.printStackTrace();
    }
}

最佳答案

我测试了你的代码,它可以打印。

首先您应该检查您的kafka topic ,确保其中有消息。

然后检查您的 Spark 应用程序,确保它可以连接您的 Kafka Broker。

关于java - 如何使用 Java 检查从 Spark 结构化流中的 Kafka 获取数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56980436/

相关文章:

python - pyspark Pandas udf 运行时错误 : Number of columns of the returned doesn't match specified schema

scala - Spark : java. io.FileNotFoundException:copyMerge 中不存在文件

apache-kafka - 尝试消费时如何解决 "Leader not available"Kafka 错误

apache-kafka - Kafka connect 中的 ACL 配置不起作用

java - 如何为接口(interface)的实现创建多个实例?

Java - 必须手动测试许多输入

hadoop - Spark 和 Map-Reduce 一起使用

java - 创建一个按钮并以编程方式将其添加到 View 中

Java MySQL使用BasicFileAttributes插入图像文件上次访问时间

java - 卡夫卡消费者: can onPartitionsRevoked and onPartitionsAssigned callbacks be executed inside one poll() call?