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

溫馨提示×

溫馨提示×

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

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

spark2.x由淺入深深到底系列七之python開發spark環境配置

發布時間:2020-07-15 14:05:27 來源:網絡 閱讀:1245 作者:tangweiqun 欄目:大數據

學習spark任何的技術前,請先正確理解spark,可以參考: 正確理解spark


以下是在mac操作系統上配置用python開發spark的環境


一、安裝python

spark2.2.0需要python的版本是Python2.6+ 或者 Python3.4+


可以參考: 

http://jingyan.baidu.com/article/7908e85c78c743af491ad261.html 


二、下載spark編譯包并配置環境變量


1、在官網中: http://spark.apache.org/downloads.html 下載版本為:spark-2.2.0-bin-hadoop2.6.tgz包

放到本地的某個盤中,然后解壓。



2、設置環境變量:

cd ~

vi .bash_profile


export SPARK_HOME=/Users/tangweiqun/Desktop/bigdata/spark/spark-2.2.0-bin-hadoop2.6

export PATH=$PATH:$SCALA_HOME/bin:$M2_HOME/bin:$JAVA_HOME/bin:$SPARK_HOME/bin


source .bash_profile


3、需要對SPARK_HOME下的bin目錄下的文件執行chmod 744 ./*,否則會報權限不足的錯誤

Window機器應該不用做這步



三、安裝PyCharm

1、從官網: https://www.jetbrains.com/pycharm/download/中下載,然后傻瓜式安裝



四、編寫wordcount.py并運行成功


1、創建一個project

file --> New Project


2、給PyCharm配置PYTHONPATH

Run --> Edit Configurations,配置如下

spark2.x由淺入深深到底系列七之python開發spark環境配置

spark2.x由淺入深深到底系列七之python開發spark環境配置

spark2.x由淺入深深到底系列七之python開發spark環境配置

點上面的“+”,然后填上: 

PYTHONPATH=/Users/tangweiqun/Desktop/bigdata/spark/spark-2.1.0-bin-hadoop2.6/python/:/Users/tangweiqun/Desktop/bigdata/spark/spark-2.1.0-bin-hadoop2.6/python/lib/py4j-0.10.4-src.zip

即將spark安裝包中和python相關的依賴加上

3、py4j-some-version.zippyspark.zip加入到項目中

為了能看到源碼,我們需要將項目關聯源碼,關聯的方式如下:

spark2.x由淺入深深到底系列七之python開發spark環境配置

spark2.x由淺入深深到底系列七之python開發spark環境配置

點擊+ Add Content Root將/Users/tangweiqun/Desktop/bigdata/spark/spark-2.1.0-bin-hadoop2.6/python/lib下的兩個zip包加進去


4、編寫spark word count,然后運行成功

創建一個python文件wordcount.py,內容如下:

from pyspark import SparkContext, SparkConf

import os
import shutil

if __name__ == "__main__":
    conf = SparkConf().setAppName("appName").setMaster("local")
    sc = SparkContext(conf=conf)

    sourceDataRDD = sc.textFile("file:///Users/tangweiqun/test.txt")

    wordsRDD = sourceDataRDD.flatMap(lambda line: line.split())

    keyValueWordsRDD = wordsRDD.map(lambda s: (s, 1))

    wordCountRDD = keyValueWordsRDD.reduceByKey(lambda a, b: a + b)

    outputPath = "/Users/tangweiqun/wordcount"
    if os.path.exists(outputPath):
        shutil.rmtree(outputPath)

    wordsRDD.saveAsTextFile("file://" + outputPath)

    print wordCountRDD.collect()

右擊運行成功



詳細且系統的了解spark core RDD相關的Api可以參考:spark core RDD api原理詳解

向AI問一下細節

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

AI

满城县| 塘沽区| 武安市| 内黄县| 凌云县| 万年县| 利辛县| 北安市| 龙胜| 理塘县| 莱阳市| 左权县| 荔波县| 光泽县| 泊头市| 云霄县| 榕江县| 和顺县| 奈曼旗| 罗源县| 察隅县| 融水| 大化| 天津市| 新巴尔虎左旗| 平塘县| 湖南省| 贵定县| 宾阳县| 景洪市| 博罗县| 安义县| 潞城市| 阿拉尔市| 左云县| 陇川县| 通江县| 周口市| 无锡市| 泽库县| 洛宁县|