无法使用HDFS中的火花流存储数据

时间:2018-05-24 12:14:17

标签: apache-spark apache-kafka hdfs spark-streaming rdd

我正在尝试使用java中的spark-streaming将数据从kafka存储到hdfs。这是我的一段代码。

JavaInputDStream<ConsumerRecord<String, String>> directKafkaStream =
                KafkaUtils.createDirectStream(
                        ssc,
                        LocationStrategies.PreferConsistent(),
                        ConsumerStrategies.<String, String>Subscribe(topics, kafkaParams)
                );
directKafkaStream.foreachRDD(rdd -> {
            rdd.saveAsTextFile("hdfs://.../sampleTest.txt");
            rdd.foreach(record -> {
                System.out.println("Got the record : ");
            });
        });
        ssc.start();
        ssc.awaitTermination();

这些是我正在使用的sbt库依赖项:

  "org.apache.kafka" % "kafka-clients" % "0.8.2.0",
  "org.apache.spark" %% "spark-streaming" % "2.2.0",
  "org.apache.spark" %% "spark-streaming-kafka-0-10" % "2.0.0",

在消费者策略中,我订阅了主题列表和kafka配置。但是当我使用kafka发送数据时,没有文件在hdfs中生成。 此外,当我运行jar文件时,它显示sparkstreamingcontext已启动,但之后没有打印确认消息。 我在这里遗漏了什么,还是火花流卡夫卡依赖性不匹配的问题?

0 个答案:

没有答案