Spark基礎

来源:https://www.cnblogs.com/gongxiaoyang/archive/2018/01/09/8245783.html
-Advertisement-
Play Games

Spark基礎 ① 快--基於記憶體的運算 ② 易用--支持java,python和Scala的API,shell互動式運用,還支持超過80種高級演算法 ③ 通用--spark提供了統一的解決方案,spark用於批處理,互動式查詢spark sql, 實時流處理spark streaming,機器學習s ...


Spark基礎

  1. Spark是一種快速.通用.可擴展的大數據分析引擎,是基於記憶體計算的大數據並行計算框架,提高在大數據環境下數據處理的實時性,同時保證了高容錯性和高可伸縮性.
  2. 為什麼要學習spark--中間結果輸出
  3. Spark特點

① --基於記憶體的運算

② 易用--支持java,pythonScalaAPI,shell互動式運用,還支持超過80種高級演算法

③ 通用--spark提供了統一的解決方案,spark用於批處理,互動式查詢spark sql,  實時流處理spark streaming,機器學習spark MLlib和圖計算Graphx

④ 相容性--方便與其他產品融合--不需要數據遷移就可以使用spark的強大處理功能,Spark也可以不依賴於第三方的資源管理和調度器,它實現了Standalone作為其內置的資源管理和調度框架.Spark還提供了在EC2上部署StandaloneSpark集群的工具。

  1. Spark HA高可用部署

(1) Spark Standalone集群是Master-Slaves架構的集群,存在master單點故障問題

① 基於文件系統的單點回覆---開發測試環境

② 基於zookeeperstandby Masters---生產模式

  1. Spark角色介紹

(1) Master-Slaves模型,master是集群中含有master繼承的節點,slave是集群中含有worker進程的節點

① Application:基於spark的應用程式,包含了driver程式和集群上的executor

② Driver Program:運行main函數並且創建SparkContext的程式

③ Cluter Manager:指的是在集群上獲取資源的外部服務--有三種類型

1) Standalon:spark源生的資源管理,master負責資源的分配

2) Apache Mesos:MR相容性良好的一種資源調度框架

3) Hadoop Yarn:主要是指Yarn中的ResourceManager

④ Worker Node:集群中任何可以運行Application代碼的節點,在Standalone模式中指的是通過slave文件配置的Worker節點,在Spark on Yarn模式下就是NoteManager節點

⑤ Executor:是在一個worker node上為某應用啟動的一個進程,該進程負責運行任務,並且負責將數據存在記憶體或 者磁碟上。每個應用都有各自獨立的executor

⑥ Task :被送到某個executor上的工作單元。

  1. Scala代碼

(1) sc.textFile("file:///root///words.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect

sc:Spark-Shell中已經預設將SparkContext類初始化為對象sc。用戶代碼如果需要用到,則直接應用sc即可。

textFile:讀取數據文件

flatMap:對文件中的每一行數據進行壓平切分,這裡按照空格分隔。

map:對出現的每一個單詞記為1(word,1)

reduceByKey:對相同的單詞出現的次數進行累加

collect:觸發任務執行,收集結果數據。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • who命令的作用用於顯示當前有哪些用戶登錄到系統。 這個命令執行的原理是讀取了系統上utmp文件中記錄的所有登錄信息,直接顯示出來的 utmp文件在哪裡呢? man who的時候,在手冊下麵有這麼一段說明:意思就是不指定文件參數,那麼讀取的就是/var/run/utmp,到底是不是,驗證下 當我指定 ...
  • 這一系列的Linux入門都是本人在《鳥哥的Linux私房菜》的基礎上總結的基本內容,主要是記錄下自己的學習過程,也方便大家簡要的瞭解 Linux Distribution是Ubuntu而不是書本上推薦的CentOS,建議裝雙系統,不要使用虛擬機。 代碼在github上:Linuxpractice 其 ...
  • 實戰環境: 公司計劃在年底做一次大型市場促銷活動,全面衝刺下交易額,為明年的上市做準備。公司要求各業務組對年底大促做準備,運維部要求所有業務容量進行三倍的擴容,並搭建出多套環境可以共開發和測試人員做測試,運維老大為了在年底有所表現,要求運維部門同事儘快實現,當你接到這個任務時,有沒有更快的解決方式? ...
  • 1.GPG簡介 1991年,程式員Phil Zimmermann為了避開政府的監視,開發了加密軟體PGP。因為這個軟體非常好用,迅速流傳開來成為許多程式員的必備工具。但是,它是商業軟不能自由使用。所以,自由軟體基金會決定,開發一個PGP的替代品取名為GnuPG,因此GPG就誕生了。GPG是GNU P ...
  • 什麼是socket? socket起源於Unix,而Unix/Linux基本哲學之一就是“一切皆文件”,都可以用“打開open –> 讀寫write/read –> 關閉close”模式來操作。其實socket就是該模式的一個實現,socket即是一種特殊的文件,一些socket函數就是對其進行的操 ...
  • macos 命令行安裝 ipa 蘋果發神經後itunes已經無法在安裝app了,如果有知道的兄弟可以告訴我啊 "ideviceinstaller" 使用這個開源項目可以在macos下安裝app 安裝後, 運行 出現 這個,可以看看這個 "issues" 我使用下麵這個方式成功解決 ...
  • 這一系列的Linux入門都是本人在《鳥哥的Linux私房菜》的基礎上總結的基本內容,主要是記錄下自己的學習過程,也方便大家簡要的瞭解 Linux Distribution是Ubuntu而不是書本上推薦的CentOS,建議裝雙系統,不要使用虛擬機。 代碼在github上:Linuxpractice 其 ...
  • 位元組序:就是數據在記憶體中的存放順序,也可稱之為端模式。 大端模式和小端模式的定義 1) Little-Endian就是低位位元組排放在記憶體的低地址端,高位位元組排放在記憶體的高地址端。 2) Big-Endian就是高位位元組排放在記憶體的低地址端,低位位元組排放在記憶體的高地址端。 3) 網路位元組序:TCP/I ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...