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