2017-05-25 48 views
0

我有下面的代碼,它將監聽卡夫卡主題並使用火花流傳輸原樣重現文本。但是,我無法在控制檯上看到文本。我沒有收到控制檯上的任何錯誤消息。我可能是錯的,但我期望卡夫卡主題中的文本顯示在控制檯上。來自卡夫卡的火花流不會在控制檯上產生輸出

object scalaSparkProcessor { 
def main(args: Array[String]) { 
    if (args.length < 3) { 
    System.err.println("Usage: scalaSparkProcessor <zkQuorum> topics> <numThreads>") 
    System.exit(1) 
    } 

    val Array(zkQuorum, topics, numThreads) = args 
    val sparkConf = new SparkConf().setAppName("scalaSparkProcessor") 
    val ssc = new StreamingContext(sparkConf, Seconds(5)) 
    ssc.checkpoint("checkpoint") 

    val topicMap = topics.split(",").map((_, numThreads.toInt)).toMap 

    val lines = KafkaUtils.createStream(ssc,zkQuorum,"spark-streaming-consumer", topicMap).map(_._2) 

    lines.foreachRDD{rdd => 
    rdd.foreach { println }}  

    ssc.start() 
    ssc.awaitTermination() 
} 
} 

回答

0

注意,println代碼的執行運行,所以你應該看到執行人控制檯輸出的輸出。 所以,如果你進入spark UI,導航到executors選項卡,並選擇一個執行器,你應該能夠看到輸出。

E.g.如果你在本地執行這項工作,你可以去http://localhost:4040。 如果您正在紗線上運行,則可以通過紗線ResourceManager UI導航到spark UI。