Python安裝spark的詳細過程
一.配置版本
Java JDK 1.8.0_111
Python 3.9.6
Spark 3.1.2
Hadoop 3.2.2
二.配置環境
1.配置JDK
從官網下載相應JDK的版本安裝,並進行環境變量的配置
(1)在系統變量新建JAVA_HOME,根據你安裝的位置填寫變量值
(2)新建CLASSPATH
變量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(註意前面所需的符號)
(3)點擊Path
在其中進行新建:%JAVA_HOME%\bin
(4)配置好後進行確定
(5)驗證,打開cmd,輸入java -version和javac進行驗證
此上說明jdk環境變量配置成功
2.配置Spark
(1)下載安裝:
Spark官網:spark-3.1.2-bin-hadoop3.2下載地址
(2)解壓,配置環境
(3)點擊Path,進行新建:%SPARK_HOME%\bin,並確認
(4)驗證,cmd中輸入pyspark
這裡提醒我們要安裝Hadoop
3.配置Hadoop
(1)下載:
Hadoop官網:Hadoop 3.2.2下載地址
(2)解壓,配置環境
註意:解壓文件後,bin文件夾中可能沒有以下兩個文件:
下載地址:https://github.com/cdarlint/winutils
配置環境變量CLASSPATH:%HADOOP_HOME%\bin\winutils.exe
(3)點擊Path,進行新建:%HADOOP_HOME%\bin,並確認
(4)驗證,cmd中輸入pyspark
由上可以看出spark能運行成功,但是會出現如下警告:
WARN ProcfsMetricsGetter: Exception when trying to compute pagesize, as a result reporting of ProcessTree metrics is stopped
這裡因為spark為3.x版本有相關改動,使用spar2.4.6版本不會出現這樣的問題。
不改版本解決方式(因是警告,未嘗試):
方式一:解決方法一
方式二:解決方法二
三.Pycharm配置spark
(1)Run–>Edit Configurations
(2)對Environment Variables進行配置
(3)File–>Settings–>Project Structure–>Add Content Root
找到spark-3.1.2-bin-hadoop3.2\python\lib下兩個包進行添加
選擇結果:
(4)測試
# 添加此代碼,進行spark初始化 import findspark findspark.init() from datetime import datetime, date from pyspark.sql import SparkSession spark = SparkSession.builder.getOrCreate() rdd = spark.sparkContext.parallelize([ (1, 2., 'string1', date(2000, 1, 1), datetime(2000, 1, 1, 12, 0)), (2, 3., 'string2', date(2000, 2, 1), datetime(2000, 1, 2, 12, 0)), (3, 4., 'string3', date(2000, 3, 1), datetime(2000, 1, 3, 12, 0)) ]) df = spark.createDataFrame(rdd, schema=['a', 'b', 'c', 'd', 'e']) df.show()
運行結果:
四.使用anconda中python環境配置spark
1.創建虛擬環境
conda create -n pyspark_env python==3.9.6
查看環境:
conda env list
運行結果:
2.安裝pyspark
切換到pyspark_env並進行安裝pyspark
pip install pyspark
3.環境配置
運行上面的實例,會出現以下錯誤:
這說明我們需要配置py4j,SPARK_HOME
SPARK_HOME:
PYTHONPATH設置:
HADOOP_HOME設置:
path中設置:
4.運行
# 添加此代碼,進行spark初始化 import findspark findspark.init() from datetime import datetime, date from pyspark.sql import SparkSession spark = SparkSession.builder.getOrCreate() rdd = spark.sparkContext.parallelize([ (1, 2., 'string1', date(2000, 1, 1), datetime(2000, 1, 1, 12, 0)), (2, 3., 'string2', date(2000, 2, 1), datetime(2000, 1, 2, 12, 0)), (3, 4., 'string3', date(2000, 3, 1), datetime(2000, 1, 3, 12, 0)) ]) df = spark.createDataFrame(rdd, schema=['a', 'b', 'c', 'd', 'e']) df.show()
運行結果同上
到此這篇關於Python安裝spark的文章就介紹到這瞭,更多相關Python安裝spark內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- pyspark對Mysql數據庫進行讀寫的實現
- pycharm利用pyspark遠程連接spark集群的實現
- SparkSQL使用IDEA快速入門DataFrame與DataSet的完美教程
- pyspark創建DataFrame的幾種方法
- 創建SparkSession和sparkSQL的詳細過程