sparkStreaming介紹與執行方式
阿新 • • 發佈:2019-01-31
Spark Streaming is an extension of the core Spark API that enables scalable,
high-throughput,
fault-tolerant
stream processing of live data streams.
Spark Streaming個人的定義:
將不同的資料來源的資料經過Spark Streaming處理之後將結果輸出到外部檔案系統
特點
低延時
能從錯誤中高效的恢復:fault-tolerant
能夠執行在成百上千的節點
能夠將批處理、機器學習、圖計算等子框架和Spark Streaming綜合起來使用
Spark Streaming是否需要獨立安裝?
One stack to rule them all : 一棧式
GitHub
https://github.com/apache/spark
spark-submit的使用
使用spark-submit來提交我們的spark應用程式執行的指令碼(生產)
./spark-submit --master local[2] \
--class org.apache.spark.examples.streaming.NetworkWordCount \
--name NetworkWordCount \
/home/hadoop/app/spark-2.2.0-bin-2.6.0-cdh5.7.0/examples/jars/spark-examples_2.11-2.2.0.jar hadoop000 9999
如何使用spark-shell來提交(測試)
./spark-shell --master local[2]
import org.apache.spark.streaming.{Seconds, StreamingContext}
val ssc = new StreamingContext(sc, Seconds(1))
val lines = ssc.socketTextStream("hadoop000", 9999)
val words = lines.flatMap(_.split(" "))
val wordCounts = words.map(x => (x, 1)).reduceByKey(_ + _)
wordCounts.print()
ssc.start()
ssc.awaitTermination()
工作原理:粗粒度
Spark Streaming接收到實時資料流,把資料按照指定的時間段切成一片片小的資料塊,
然後把小的資料塊傳給Spark Engine處理。
high-throughput,
fault-tolerant
stream processing of live data streams.
Spark Streaming個人的定義:
將不同的資料來源的資料經過Spark Streaming處理之後將結果輸出到外部檔案系統
特點
低延時
能從錯誤中高效的恢復:fault-tolerant
能夠執行在成百上千的節點
能夠將批處理、機器學習、圖計算等子框架和Spark Streaming綜合起來使用
Spark Streaming是否需要獨立安裝?
One stack to rule them all : 一棧式
GitHub
https://github.com/apache/spark
spark-submit的使用
使用spark-submit來提交我們的spark應用程式執行的指令碼(生產)
./spark-submit --master local[2] \
--class org.apache.spark.examples.streaming.NetworkWordCount \
--name NetworkWordCount \
/home/hadoop/app/spark-2.2.0-bin-2.6.0-cdh5.7.0/examples/jars/spark-examples_2.11-2.2.0.jar hadoop000 9999
如何使用spark-shell來提交(測試)
./spark-shell --master local[2]
import org.apache.spark.streaming.{Seconds, StreamingContext}
val ssc = new StreamingContext(sc, Seconds(1))
val lines = ssc.socketTextStream("hadoop000", 9999)
val words = lines.flatMap(_.split(" "))
val wordCounts = words.map(x => (x, 1)).reduceByKey(_ + _)
wordCounts.print()
ssc.start()
ssc.awaitTermination()
工作原理:粗粒度
Spark Streaming接收到實時資料流,把資料按照指定的時間段切成一片片小的資料塊,
然後把小的資料塊傳給Spark Engine處理。