日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Spark入门-了解Spark核心概念

發布時間:2025/3/8 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spark入门-了解Spark核心概念 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在本文中我們將從Spark集群角度和程序應用的角度來對相關概念進行了解

一. 站在集群角度

1.1 Master

Spark 特有資源調度系統的 Leader。掌管著整個集群的資源信息,類似于 Yarn 框架中的 ResourceManager,主要功能:

  • 監聽 Worker,看 Worker 是否正常工作;
  • Master 對 Worker、Application 等的管理(接收 Worker 的注冊并管理所有的Worker,接收 Client 提交的 Application,調度等待的 Application 并向Worker 提交)。
  • 1.2 Worker

    Spark 特有資源調度系統的 Slave,有多個。每個 Slave 掌管著所在節點的資源信息,類似于 Yarn 框架中的 NodeManager,主要功能:

  • 通過 RegisterWorker 注冊到 Master;
  • 定時發送心跳給 Master;
  • 根據 Master 發送的 Application 配置進程環境,并啟動 ExecutorBackend(執行 Task 所需的臨時進程)
  • 二. 站在應用程序角度

    2.1 driver program(驅動程序)

    每個 Spark 應用都由一個驅動器程序(driver program)來發起集群上的各種并行操作。驅動器程序包含應用的 main 函數,并且定義了集群上的分布式數據集,還對這些分布式數據集應用了相關操作。
    ??驅動程序包含 Spark 應用程序中的主函數, 定義了分布式數據集以應用在集群中.

    驅動器程序通過一個 SparkContext 對象來訪問 Spark。這個對象代表對計算集群的一個連接。

    使用Scala初始化SparkContext
    import org.apache.spark.SparkConf import org.apache.spark.SparkContext import org.apache.spark.SparkContext._val conf = new SparkConf().setAppName("wordCount") val sc = new SparkContext(conf)

    2.2 executor(執行器)

    SparkContext對象一旦成功連接到集群管理器, 就可以獲取到集群中每個節點上的執行器(executor).
    ??執行器是一個進程(進程名: ExecutorBackend, 運行在 Worker 節點上), 用來執行計算和為應用程序存儲數據.
    ??然后, Spark 會發送應用程序代碼(比如:jar包)到每個執行器. 最后, SparkContext對象發送任務到執行器開始執行程序.

    2.3 RDDs(Resilient Distributed Dataset) 彈性分布式數據集

    一旦擁有了SparkContext對象, 就可以使用它來創建 RDD 了. 在前面的例子中, 我們調用sc.textFile(…)來創建了一個 RDD, 表示文件中的每一行文本. 我們可以對這些文本行運行各種各樣的操作.

    2.4 cluster managers(集群管理器)

    為了在一個 Spark 集群上運行計算, SparkContext對象可以連接到幾種集群管理器(Spark’s own standalone cluster manager, Mesos or YARN).
    ??集群管理器負責跨應用程序分配資源.

    總結

    以上是生活随笔為你收集整理的Spark入门-了解Spark核心概念的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。