记录一下此次python+spark开发环境的搭建
jdk用的环境中已有的
python用的最新的稳定版
安装spark
选择要下载的spark版本,官网会提醒需要的hadoop版本
这里选择的3.0版本
下载完解压即可,注意解压路径不要有空格
把spark配置到环境变量中
安装hadoop
参考:Windows上安装运行Hadoop - pcwen.top - 博客园
下载地址:Index of /dist/hadoop/common
根据参考博客给的github地址
https://github.com/steveloughran/winutils
这里选择的是git项目中有的,并且符合spark版本的2.8.3版本的hadoop
在路径hadoop-2.8.3\etc\hadoop下修改文件
①core-site.xml(配置默认hdfs的访问端口)
fs.defaultFS hdfs://localhost:9000
②hdfs-site.xml(设置复制数为1,即不进行复制。namenode文件路径以及datanode数据路径。)
dfs.replication 1 dfs.namenode.name.dir file:/hadoop/data/dfs/namenode dfs.datanode.data.dir file:/hadoop/data/dfs/datanode
③将mapred-site.xml.template 名称修改为 mapred-site.xml 后再修改内容(设置mr使用的框架,这里使用yarn)
mapreduce.framework.name yarn
④yarn-site.xml(这里yarn设置使用了mr混洗)
yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.aux-services.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler
⑤hadoop-env.cmd
设置JAVA_HOME的值(如果这里使用了带空格的路径将会报错!)
set JAVA_HOME=C:\Java\jdk1.8.0_73
进入hadoop-2.8.3\bin目录,格式化hdfs
在cmd中运行命令 hdfs namenode -format
进入hadoop-2.8.3\sbin目录
在cmd中运行命令start-all.cmd
出现找不到hadoop文件的错误时,可以在start-all.cmd文件上方加入hadoop文件所在位置目录
cd D:\hadoop\hadoop-2.8.3
7.在浏览器地址栏中输入:http://localhost:8088查看集群状态。
8.在浏览器地址栏中输入:http://localhost:50070查看Hadoop状态。
执行stop-all.cmd关闭Hadoop。
把hadoop加到环境变量
写个demo试试
#加这两行是因为运行报错 “py4j.protocol.Py4JError: org.apache.spark.api.python.PythonUtils.getEncryptionEnabled”
import findspark
findspark.init()
###
from pyspark import SparkConf, SparkContext
if __name__ == '__main__':
conf = SparkConf().setAppName("aaa").setMaster("local")
sc = SparkContext(conf=conf)
# 访问本地文件
inputFile = "file:///D:/TestFile/test.txt"
#文件内容
#first line
#second line
#third line
#
textFile = sc.textFile(inputFile)
wordCount = textFile.flatMap(lambda line: line.split(" ")).map(lambda word: (word, 1)).reduceByKey(
lambda a, b: a + b)
wordCount.foreach(print)
执行结果
以上是参考网上的一些博客完成的操作,还有不少不明白的地方需要研究,不过demo跑起来就算成功。