win10+pyspark+pycharm+anaconda單機環境搭建


一、工具准備

1. jdk1.8

2. scala

3. anaconda3

4. spark-2.3.1-bin-hadoop2.7

5. hadoop-2.8.3

6. winutils

7. pycharm

二、安裝

1. jdk安裝

oracle官網下載,安裝后配置JAVA_HOME、CLASS_PATH,bin目錄追加到PATH,注意:win10環境下PATH最好使用絕對路徑!下同!

 

 

 

2. scala安裝

官網下載,安裝后配置SCALA_HOME,bin目錄追加到PATH(上圖包含)

3. anaconda3安裝

官網下載,安裝時注意在“追加到PATH”復選框打鈎

4. spark安裝

官網下載壓縮包,解壓縮后配置SPARK_HOME,bin目錄追加到PATH(上圖包含)

5. hadoop安裝

官網下載版本>=spark對應hadoop版本,解壓縮后配置HADOOP_HOME,bin目錄追加到PATH(上圖包含)

6. winutils安裝

下載地址:https://github.com/steveloughran/winutils,按hadoop版本對應下載

7. pycharm安裝

下載付費版本,使用lanyu注冊碼激活,注意按照提示添加域名解析到hosts文件

三、處理python相關

  1. 將pyspark文件夾(在spark-2.3.1-bin-hadoop2.7\python目錄)復制到anaconda3\Lib\site-packages目錄下
  2. 將winutils解壓縮后用對應版本的bin目錄替換hadoop下的bin目錄
  3. conda install py4j
  4. 進入hadoop\bin目錄下,以管理員方式打開cmd,輸入命令:winutils.exe chmod 777 c:\tmp\Hive,若提示錯誤,檢查Hive目錄是否存在,若不存在,則手動創建,再重新執行命令

四、驗證

打開pycharm,使用anaconda中的python作為解釋器,輸入以下代碼並運行:

from pyspark import SparkContext

sc = SparkContext('local')
doc = sc.parallelize([['a', 'b', 'c'], ['b', 'd', 'd']])
words = doc.flatMap(lambda d: d).distinct().collect()
word_dict = {w: i for w, i in zip(words, range(len(words)))}
word_dict_b = sc.broadcast(word_dict)

def wordCountPerDoc(d):
    dict = {}
    wd = word_dict_b.value
    for w in d:
        if wd[w] in dict:
            dict[wd[w]] += 1
        else:
            dict[wd[w]] = 1
    return dict

print(doc.map(wordCountPerDoc).collect())
print("successful!")

  運行結果:

[{0: 1, 1: 1, 2: 1}, {1: 1, 3: 2}]
successful!
View Code

 

本文為win10+pyspark+pycharm+anaconda的單機測試環境搭建。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM