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

windows下python spark环境搭建

安装后重启软件FIle-->New-->project就可以创建python工程了

windows下python spark环境搭建

创建工程后新建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有关