當前位置:編程學習大全網 - 編程語言 - 火花驅動器編程

火花驅動器編程

下面詳細描述集中部署模式。

在此模式下運行的任務不會在集群中提交,而只會在此節點中執行。有兩種情況。

運行這種模式非常簡單。妳只需要解壓Spark的安裝包,改變壹些常用的配置就可以使用了。不需要啟動Spark的主守護進程和工作守護進程(這兩個角色只有在集群處於獨立模式時才需要),也不需要啟動Hadoop的服務(除非妳想使用HDFS)。

Spark不壹定要在hadoop集群中運行,可以通過啟動多線程在本地指定。Spark應用程序壹般直接在本地多線程運行,方便調試。有三種本地獨立模式:

施工步驟:

(中間有壹個錯誤:raiseilegargumentexception(s . split(':',1) [1],StackTrace)。

py spark . SQL . utils . illegalargumentexception:u '無法找到連接到metastore的hive jars。請設置spark.sql.hive.metastore.jars . ',在線提示查看jdk版本顯示ubuntu 18.04默認為openjdk-11-jdk包(Java-版本提示10.0.1)。正在重新安裝openjdk-8-jdk版本,沒有錯誤)

運行:

使用spark-shell、spark-submit和pyspark。

例如,使用spark-shell:

本地:單機、單核運行

Local[k]:開始k執行程序。

Local[]:啟動與cpu *相同數量的執行器*

在上面的例子中,local[N]和local[*]相當於在壹臺機器上模擬多線程的spark分布式計算,通常用來檢查開發的程序有沒有邏輯問題。

其中n表示可以使用n個線程,每個線程有壹個內核。

這些任務的線程在壹個進程中共享,並且可以啟動。在程序執行的過程中,只會產生壹個進程,這個進程接管所有的任務,這個進程既是客戶端提交任務的客戶端進程,也是spark的驅動程序,或者說是spark執行任務的執行者。

這種運行方式與Local[N]非常相似,但不同的是,它會在壹臺機器上啟動多個進程來模擬集群下的分布式場景,而不像Local[N]中,多個線程只能在壹個進程下妥協享受資源。通常也是用來驗證開發的應用是否存在邏輯問題,或者想在沒有太多資源的情況下使用Spark的計算框架。

用法:提交申請時使用local-cluster[x,y,z]參數:x表示要生成的執行器數量,y和z分別表示每個執行器擁有的內核和內存數量。

上述命令意味著將使用兩個executor進程,每個進程將分配三個內核和1G內存來運行應用程序。可以看到,在程序執行的過程中,會產生以下過程:

  • 上一篇:K12在線教育現狀及發展趨勢如何?
  • 下一篇:學長應該怎麽做?
  • copyright 2024編程學習大全網