久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

Spark Streaming的案例分析

153次閱讀
沒有評論

共計 1798 個字符,預計需要花費 5 分鐘才能閱讀完成。

這篇文章主要講解了“Spark Streaming 的案例分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著丸趣 TV 小編的思路慢慢深入,一起來研究和學習“Spark Streaming 的案例分析”吧!

    為什么從 SparkStreaming 入手?

    因為 SparkStreaming 是 Spark Core 上的一個子框架,如果我們能夠完全精通了一個子框架,我們就能夠更好的駕馭 Spark。SparkStreaming 和 Spark SQL 是目前最流行的框架,從研究角度而言,Spark SQL 有太多涉及到 SQL 優化的問題,不太適應用來深入研究。而 SparkStreaming 和其他的框架不同,它更像是 SparkCore 的一個應用程序。如果我們能深入的了解 SparkStreaming,那我們就可以寫出非常復雜的應用程序。

  SparkStreaming 的優勢是可以結合 SparkSQL、圖計算、機器學習,功能更加強大。這個時代,單純的流計算已經無法滿足客戶的需求啦。在 Spark 中 SparkStreaming 也是最容易出現問題的,因為它是不斷的運行,內部比較復雜。

本課內容:

1,SparkStreaming 另類在線實驗

      這個另類在線實驗體現在 batchInterval 設置的很大,5 分鐘甚至更大,為了更清晰的看清楚 Streaming 運行的各個環境。

      實驗內容是使用 SparkStreaming 在線統計單詞個數,SparkStreaming 連接一個端口中接收發送過來的單詞數據,將統計信息輸出到控制臺中,其中使用 netcat 創建一個簡單的 server,來開啟并監聽一個端口,接收用戶鍵盤輸入的單詞數據。

2,瞬間理解 SparkStreaming 的本質

      結合這個實驗并通過觀察 Web UI 上的 Job,Stage,Task 等信息,再結合 SparkStreaming 的源碼,對 SparkStreaming 進行分析。

實驗環境說明:

      實驗由 3 臺 Ubuntu14.04 虛擬機上運行,其中一臺作為 Spark 的 Master,另外兩臺作為 Spark 的 Worker。使用的 Spark 版本為目前最先版 1.6.1,Spark checkpoint 的存儲在 HDFS 上 (hadoop 的版本為 2.6.0)。為了記錄 SparkStreaming 運行的過程信息,需要啟動 Spark 的 HistoryServer,以下是啟廳 Spark,HDFS,HistoryServer 服務的腳本。

             

實驗代碼如下

提交到 Spark 集群的腳本如下

首先在 Master 節點使用 nc -lk 9999,創建一個簡單的 Server,然后在運行腳本提交 Spark Application。

從網上找來一篇英文文章,如下

Spark Streaming 的案例分析

單詞統計結果如下

Spark Streaming 的案例分析

在 Spark UI 上觀察發現有 4 個 Job

Spark Streaming 的案例分析

首先查看 Job 0 發現 SparkStreaming 在剛啟動時會提交一個 Job

Spark Streaming 的案例分析

StreamingContext 的 start 方法中調用了 JobScheduler 的 start 方法

Spark Streaming 的案例分析

繼續看 JobScheduler 類的 start 方法

Spark Streaming 的案例分析

Spark Streaming 的案例分析

Spark Streaming 的案例分析

從注釋中說明該方法是為了確保每個 Slave 都注冊上,避免所有的 Receiver 在同一個節點,為了后面計算負載均衡。

Job1 一直在運行是因為它不斷接收數據流中的數據,運行在 Worker1 上并且運行 1 個 Task 來接收數據,數據本地性為 PROCESS_LOCAL,receiver 接收到數據會保存到內存中。

Spark Streaming 的案例分析

Spark Streaming 的案例分析

Spark Streaming 的案例分析

Job2 的信息如下

Spark Streaming 的案例分析

其中 Stage3 信息如下

Spark Streaming 的案例分析

其中 Stage4 信息如下

Spark Streaming 的案例分析

Job3 的信息如下,Job3 的 DAG 圖和 Job2 的 DAG 圖是一樣的,但是 Stage5 跳過了。

Spark Streaming 的案例分析

后面的 Job 都是在對單詞切分統計。

Spark Streaming 的案例分析

      回顧這 4 個 Job,其中 2 個 Job 是框架運行的,Job0 確保所有 slave 都注冊上,避免所有的 Receiver 在同一個節點,為了后面計算負載均衡。Job1 為啟動一個數據接收器,運行在一個 Executor 上的一個 Task 上,不斷接收數據量數據,然后保存到內存中。Job2 和 Job3 在運行單詞切分統計。

感謝各位的閱讀,以上就是“Spark Streaming 的案例分析”的內容了,經過本文的學習后,相信大家對 Spark Streaming 的案例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是丸趣 TV,丸趣 TV 小編將為大家推送更多相關知識點的文章,歡迎關注!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-16發表,共計1798字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 墨竹工卡县| 会理县| 从江县| 神池县| 泰顺县| 东台市| 手游| 抚松县| 鄢陵县| 育儿| 信阳市| 宜宾县| 大渡口区| 瑞安市| 成安县| 武鸣县| 华蓥市| 金秀| 濮阳县| 华宁县| 章丘市| 台湾省| 梁河县| 开化县| 济南市| 龙门县| 邛崃市| 舒兰市| 普陀区| 锦州市| 嘉定区| 班玛县| 衡南县| 交口县| 沂水县| 吉木乃县| 杭州市| 小金县| 太白县| 英吉沙县| 秦安县|