windows下python spark環境搭建

本環境搭建只是在windows下使用python編寫spark程序有提示

1、安裝python2.7 (省略)

下載安裝包一直下一步安裝即可

2、配置spark

下載spark-2.2.0-bin-hadoop2.7.tgz 解壓到C:\BigData(路徑隨意)

3、配置spark與python環境變量

SPARK_HOME:C:\BigData\spark-2.2.0-bin-hadoop2.7

PYTHONPATH:%SPARK_HOME%\python\lib\py4j-0.10.4-src.zip;%SPARK_HOME%\python\lib\pyspark.zip

4、下載開發工具IntelliJ IDEA

在官網下載即可,我下載的解壓版,打開IntelliJ IDEA隨便創建工程打開FIle-->Settings-->Plugins 在搜索框輸入 python



安裝後重啓軟件FIle-->New-->project就可以創建python工程了


創建工程後新建Python File 名爲wordcount.py 內容爲

#!/usr/bin/python
# -*- coding: UTF-8 -*-
'''
初始化SparkConf, SparkContext
從pyspark 導入SparkConf, SparkContext
'''
from pyspark import SparkConf, SparkContext
import random

#僞分佈模式setMaster直接寫local即可,setAppName隨便寫
conf = SparkConf().setMaster("local").setAppName("My App")
sc = SparkContext(conf = conf)

#HDFS的輸入路徑
inputFile = "hdfs://192.168.10.101:9000/input/test.txt"

#HDFS的輸出目錄爲防止目錄已存在添加了隨機數爲名
outputFile = "hdfs://192.168.10.101:9000/output" + str(random.randint(10000,1000000))

#讀取我們的輸入數據
input = sc.textFile(inputFile)
# 把它切分成一個個單詞
words = input.flatMap(lambda line: line.split(" "))
#轉換爲鍵值對並計數
counts = words.map(lambda word: (word, 1)).reduceByKey(lambda a, b: a + b)

#將統計出來的單詞總數存入一個文本文件,引發求值
counts.repartition(1).saveAsTextFile(outputFile)

wordcount程序就編寫好了,傳到服務器上進入到spark安裝目錄的bin下使用./spark-submit /路徑/wordcount.py即可運行

運行完成後使用hadoop fs -ls / 或者 hadoop dfs -ls / 查看
 就能看到output加隨機數目錄,說明執行成功了

(1)fs是文件系統, dfs是分佈式文件系統
(2)fs > dfs
(3)分佈式環境情況下,fs與dfs無區別                       

(4)本地環境中,fs就是本地文件,dfs就不能用了

and

FS涉及到一個通用的文件系統,可以指向任何的文件系統如local,HDFS等。但是DFS僅是針對HDFS的。

那麼什麼時候用FS呢?可以在本地與hadoop分佈式文件系統的交互操作中使用。特定的DFS指令與HDFS有關


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章