中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么快速搭建Spark開發環境

發布時間:2021-12-10 10:34:38 來源:億速云 閱讀:184 作者:柒染 欄目:大數據

怎么快速搭建Spark開發環境,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。


一,搭建本地pyspark單機練習環境

以下過程本地單機版pyspark練習編程環境的配置方法。

注意:僅配置練習環境無需安裝hadoop,無需安裝scala.

1,安裝Java8

下載地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

注意避免安裝其它版本的jdk否則可能會有不兼容spark的情況。注意設置JAVA_HOME,并添加它到默認路徑PATH中

WINDOWS下安裝jdk8詳細教程可以參考:

https://www.cnblogs.com/heqiyoujing/p/9502726.html

安裝成功后,在命令行中輸入 java -version,可以看到類似如下的結果。

怎么快速搭建Spark開發環境

2,下載解壓spark

spark官網下載: http://spark.apache.org/downloads.html

百度云盤鏈接: https://pan.baidu.com/s/1mUMavclShgvigjaKwoSF_A  密碼:fixh

下載后解壓放入到一個常用軟件的安裝路徑,如:

/Users/liangyun/ProgramFiles/spark-3.0.1-bin-hadoop3.2

對于Linux用戶,和mac用戶,建議像如下方式在~/.bashrc中設置環境變量,以便可以啟動spark-submit和spark-shell。

windows用戶可以忽略以下設置。


export PYTHONPATH=$/Users/liangyun/anaconda3/bin/python
export PATH="/Users/liangyun/anaconda3/bin:${PATH}"

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home
export SPARK_HOME="/Users/liangyun/ProgramFiles/spark-3.0.1-bin-hadoop3.2"

export PYSPARK_PYTHON=$PYTHONPATH
export PYSPARK_DRIVER_PYTHON=$PYTHONPATH
export PYSPARK_DRIVER_PYTHON_OPTS='notebook'

 

3,安裝findspark

安裝成功后可以在jupyter中運行如下代碼

import findspark

#指定spark_home為剛才的解壓路徑,指定python路徑
spark_home = "/Users/liangyun/ProgramFiles/spark-3.0.1-bin-hadoop3.2"
python_path = "/Users/liangyun/anaconda3/bin/python"
findspark.init(spark_home,python_path)

 
import pyspark 
from pyspark import SparkContext, SparkConf
conf = SparkConf().setAppName("test").setMaster("local[4]")
sc = SparkContext(conf=conf)

print("spark version:",pyspark.__version__)
rdd = sc.parallelize(["hello","spark"])
print(rdd.reduce(lambda x,y:x+' '+y))

 
spark version: 3.0.1
hello spark
 

4,救命方案


如果以上過程由于java環境配置等因素沒能成功安裝pyspark。


可以在和鯨社區的云端notebook環境中直接學習pyspark。


和鯨社區的云端notebook環境中已經安裝好了pyspark。


https://www.kesci.com/home/column/5fe6aa955e24ed00302304e0


怎么快速搭建Spark開發環境

 

二,運行pyspark的各種方式

pyspark主要通過以下一些方式運行。

1,通過pyspark進入pyspark單機交互式環境。

這種方式一般用來測試代碼。

也可以指定jupyter或者ipython為交互環境。

2,通過spark-submit提交Spark任務到集群運行。

這種方式可以提交Python腳本或者Jar包到集群上讓成百上千個機器運行任務。

這也是工業界生產中通常使用spark的方式。

3,通過zepplin notebook交互式執行。

zepplin是jupyter notebook的apache對應產品。

4, Python安裝findspark和pyspark庫。

可以在jupyter和其它Python環境中像調用普通庫一樣地調用pyspark庫。

這也是本書配置pyspark練習環境的方式。

 

三,通過spark-submit提交任務到集群運行常見問題

以下為在集群上運行pyspark時相關的一些問題,

1,pyspark是否能夠調用Scala或者Java開發的jar包?

答:只有Driver中能夠調用jar包,通過Py4J進行調用,在excutors中無法調用。

2,pyspark如何在excutors中安裝諸如pandas,numpy等包?

答:可以通過conda建立Python環境,然后將其壓縮成zip文件上傳到hdfs中,并在提交任務時指定環境。當然,最簡單直接的方案是把你想要的anaconda環境打包成zip上傳到集群hdfs環境中。注意,你打包的機器應當和集群的機器具有相同的linux操作系統。

3,pyspark如何添加自己編寫的其它Python腳本到excutors中的PYTHONPATH中?

答:可以用py-files參數設置,可以添加.py,.egg 或者壓縮成.zip的Python腳本,在excutors中可以import它們。

4,pyspark如何添加一些配置文件到各個excutors中的工作路徑中?

答:可以用files參數設置,不同文件名之間以逗號分隔,在excutors中用SparkFiles.get(fileName)獲取。

#提交python寫的任務
spark-submit --master yarn \
--deploy-mode cluster \
--executor-memory 12G \
--driver-memory 12G \
--num-executors 100 \
--executor-cores 2 \
--conf spark.yarn.maxAppAttempts=2 \
--conf spark.default.parallelism=1600 \
--conf spark.sql.shuffle.partitions=1600 \
--conf spark.memory.offHeap.enabled=true \
--conf spark.memory.offHeap.size=2g\
--conf spark.task.maxFailures=10 \
--conf spark.stage.maxConsecutiveAttempts=10 \
--conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=./anaconda3.zip/anaconda3/bin/python #指定excutors的Python環境
--conf spark.yarn.appMasterEnv.PYSPARK_DRIVER_PYTHON = ./anaconda3.zip/anaconda3/bin/python  #cluster模式時候設置
--archives viewfs:///user/hadoop-xxx/yyy/anaconda3.zip #上傳到hdfs的Python環境
--files  data.csv,profile.txt
--py-files  pkg.py,tqdm.py
pyspark_demo.py 

關于怎么快速搭建Spark開發環境問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

柳州市| 常山县| 三河市| 丰都县| 洛隆县| 临颍县| 观塘区| 黄冈市| 永宁县| 富阳市| 黔东| 乌海市| 武宁县| 梁河县| 保德县| 濮阳市| 芦山县| 临澧县| 临武县| 巴东县| 沐川县| 天门市| 沂南县| 政和县| 凤台县| 牙克石市| 泰安市| 淮安市| 宽城| 康定县| 浙江省| 星座| 柳江县| 曲阳县| 安化县| 三河市| 南阳市| 澎湖县| 崇明县| 高州市| 新津县|