SparkStreaming讀取hdfs文件

package spark.SparkStreaming.file

import org.apache.spark.SparkContext
import org.apache.spark.sql.SparkSession
import org.apache.spark.streaming.{Seconds, StreamingContext}

/**
  * Description:統計hdfs上指定目錄中實時的文件中單詞的次數(特點:實時的文件,不是歷史的文件)<br/>
  */
object test extends App {
  //SparkSession
  val spark: SparkSession = SparkSession.builder()
    .appName(test.getClass.getSimpleName)
    .master("local[*]")
    .getOrCreate()

  val sc: SparkContext = spark.sparkContext


  val ssc: StreamingContext = new StreamingContext(sc, Seconds(2))


  //DStream,迭代計算,並顯示內容
     ssc.textFileStream("hdfs://mini1:9000/spark-streaming/wc") //← hdfs上特定的資源目錄
    .flatMap(_.split("\\s+"))
    .filter(_.nonEmpty)
    .map((_, 1))
    .print(100)

  //啓動SparkStreaming應用
  ssc.start

  //等待結束(必須要添加)
  ssc.awaitTermination

}

 

發佈了91 篇原創文章 · 獲贊 9 · 訪問量 3676
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章