pyspark在windows的安装和使用(超详细) 焦点
本文主要介绍在win10上如何安装和使用pyspark,并运行经典wordcount示例,以及分享在运行过程中遇到的问题。
【资料图】
1. java安装和配置
1.1 java安装
jdk下载链接,建议按照1.8版本,高版本会出现兼容性问题。
https://www.oracle.com/java/technologies/downloads/#java8-windows
我安装在C:\Program Files\Java\jdk1.8.0_271
1.2 java环境配置
配置环境变量:设置--高级系统设置--系统属性--高级--环境变量--系统变量
编辑系统变量--新建JAVA_HOME
编辑环境变量Path--添加%JAVA_HOME%\bin
配置成功在cmd运行 java -version
2. spark安装和配置
2.1 spark安装
下载链接:https://spark.apache.org/downloads.html
下载后解压,我的文件地址:D:\program\spark-3.3.1-bin-hadoop3
2.2 spark配置
配置环境变量:设置--高级系统设置--系统属性--高级--环境变量--系统变量
编辑系统变量--新建SPARK_HOME
编辑环境变量Path--添加%SPARK_HOME%\bin
配置完成,在powerShell输入spark-shell
注意里面有个错误提示Unable to load native-hadoop library for your platform,先不管后续会解决。
3. pyspark安装和配置
pyspark安装比较简单,直接pip安装即可。
这里建议使用conda建新环境进行python和依赖库的安装
注意python版本不要用最新的3.11
否则再后续运行pyspark代码,会遇到问题:tuple index out of range
https://stackoverflow.com/questions/74579273/indexerror-tuple-index-out-of-range-when-creating-pyspark-dataframe
pip3 install pysparkpip3 install py4jpip3 install psutilpip3 install jieba配置完成,在命令行下python-->import pyspark成功说明安装成功。
或者power shell中直接运行pyspark
4. hadoop的安装和配置
4.1 hadoop安装
下载链接:https://hadoop.apache.org/releases.html
如果解压遇到权限问题,需要使用管理员身份运行:
4.2 hadoop配置
解压后同样在需要配置环境变量
配置环境变量:设置--高级系统设置--系统属性--高级--环境变量--系统变量
编辑系统变量--新建HADOOP_HOME
编辑环境变量Path--添加%HADOOP_HOME%\bin 和%HADOOP_HOME%\sbin
进入Hadoop的配置目录etc\hadoop,打开文件hadoop-env.cmd,修改Java的安装路径,如果Java安装在Program Files可以通过设置为PROGRA~1解决空格报错的问题
set JAVA_HOME=C:\PROGRA~1\Java\jdk1.8.0_271
配置成功后在power shell执行hadoop version
这里软件安装以及完毕,但是运行代码过程中会报错HADOOP_HOME unset
解决步骤:
1. winutils.exe
winutils:
由于hadoop主要基于linux编写,winutil.exe主要用于模拟linux下的目录环境。当Hadoop在windows下运行或调用远程Hadoop集群的时候,需要该辅助程序才能运行。
下载对应版本的 winutils(我的hadoop是3.3.4,winutils下载的3.0.0),把下载到的bin文件夹覆盖到Hadoop安装目录的bin文件夹,确保其中含有winutils.exe文件
https://github.com/steveloughran/winutils
2. hadoop.dll
把hadoop/bin下的hadoop.dll放到C:/windows/system32文件夹下
到此就可以正常运行代码了。
但是我的笔记本通过以上过程后,在运行过程中遇到问题:
org.apache.spark.SparkException: Python worker failed to connect back.
https://blog.csdn.net/weixin_43290383/article/details/120775584
解决方案:
增加环境变量:
key: PYSPARK_PYTHON
value: C:\ProgramData\Anaconda3\envs\spark310\python.exe
有些文档说value可以直接设置为python,我的笔记本测试不行,必须设置为python路径
5. 运行实例
统计分词词频
# -*- coding: utf-8 -*-import jiebafrom pyspark.context import SparkContextdef word_count(): # 读取数据,创建弹性式分布数据集(RDD). data = spark.textFile(r"docs.txt") # 读取中文停用词 with open(r"stopwords-zh.txt", "r", encoding="utf-8") as f: s = f.readlines() stop = [i.replace("\n", "") for i in s] # reduceByKey函数利用映射函数将每个K对应的V进行运算 # 分词并统计词频 data = data.flatMap(lambda line: jieba.cut(line, cut_all=False)). \ filter(lambda w: w not in stop). \ map(lambda w: (w, 1)). \ reduceByKey(lambda w0, w1: w0 + w1). \ sortBy(lambda x: x[1], ascending=False) # data.foreach(lambda x: print(x)) # print(data.collect()) # 写入文件 data.saveAsTextFile(r"D:\result.txt") # 输出前100个高频词汇 print(data.take(100))if __name__ == "__main__": # 实例化一个SparkContext,用于连接Spark集群 # 第一个参数“local”表示以本地模式加载集群 # 第二个参数“WordCount”表示appName,不能有空格 spark = SparkContext("local", "WordCount") word_count() 直接在命令行运行
如果在pycharm中运行,需要进行环境配置,以及在环境在环境变量中,记得将spark和hadoop的环境变量也加入
参考
https://yxnchen.github.io/technique/Windows%E5%B9%B3%E5%8F%B0%E4%B8%8B%E5%8D%95%E6%9C%BASpark%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA/#%E5%AE%89%E8%A3%85PySparkhttps://blog.csdn.net/whs0329/article/details/121878162
https://cloud.tencent.com/developer/article/1701582
关键词: spark
为您推荐
-
本文主要介绍在win10上如何安装和使用pyspark,并运行经典wordcount示例,以及分享在运行过程中遇到的问题。
23-03-01
-
同花顺(300033)金融研究中心3月1日讯,有投资者向测绘股份(300826)提问,测绘股份在行业几家头部企业中所处地位和优势是什么?公司回答表
23-03-01
-
十几年前,人们对万亿GDP城市还是感到十分遥远,现如今,万亿GDP城市已经众多,几乎每隔两三年,就会有一座城市跻身万亿城市的序列当中,可以
23-03-01
-
新型冠状病毒传播性强,不侥幸,不冒险,情谊常在,聚会不急一时。03月01日06时广东深圳昨日累计报告阳性感染者确诊6653例怎么判断自己是否属
23-03-01
-
1、、玲珑、黄友明、吴、傅、侯梦瑶分别出演。2、该剧根据四郎的同名小说改编,讲述了天生六感的少女楚和宫弟子于思凤在爱情和前世阴谋的双重
23-03-01
-
198元滑雪套票(含门票+交通(鸳鸯池)索道+日场滑雪3小时)在西岭雪山官方小程序购买。预定须知产品包含滑雪场景区门票一张,交通索道及滑雪3小时
23-02-28
-
1、将干枣子倒入纸箱,放在阴凉通风处,或放入冰箱冷藏,注意不要密封,即可保存数月至一年,晾晒在外面要防止虫蛀。2、红枣怕风吹,怕高温和潮湿。
23-02-28
-
瑞松科技近期接受投资者调研时称,公司视觉团队目前已经具备了从工艺流程规划、系统布局、方案设计、软件设计到现场实施的综合能力。公司视觉
23-02-28
-
开源证券股份有限公司吕明,周嘉乐,陆帅坤近期对新宝股份进行研究并发布了研究报告《公司信息更新报告:2022Q4疫情扰动下内销平稳增长,看好202
23-02-28
-
1、三水平六阶段。2、三水平1 水平I处于这一水平的儿童对文化的规则和标记中的善恶是非观念十分敏感,但却是根据行为的实质
23-02-28
-
点击关注|人间佛法,打坐共修互联网宗教信息服务许可证编号:湘(2022)0000106胡萝卜营养丰富,还能护肝明目,但是很多人都不爱吃它。其实换个做
23-02-28
-
1、股骨颈骨折在临床上是一种常见的骨折,多发生于老年人。2、因为股骨颈比较特殊,血液循环差,一旦发生骨折,骨折不愿意愈合
23-02-28
-
一、港珠澳大桥穿梭巴士官网 官微购票入口:港珠澳大桥穿梭巴士官网购票页面购票流程:第一步:进入购票页面第二步:选择“香港→珠海”第三步
23-02-27
-
1、死神来了系列只拍到第五部,第六部根本就没有开拍,因此找不到任何网络资源。2、等电影开拍之后再来找吧。本文到此分享完毕
23-02-27
-
第三方检测机构出的检测结果受访者提供□楚天都市报极目新闻记者丁鹏近日,上海的梁女士向极目新闻热线(027-86777777)爆料,她在某平台古驰(GUCCI
23-02-27
- 全球关注:天马新材(838971)12月28日游资资金净买入4.20万元
- 快消息!力星股份董秘回复:截至2022年12月20日,公司股东人数为15943
- 世界焦点!平罗:跑出护航发展“加速度”
- 世界消息!大华股份(002236)股东傅利泉质押1473万股,占总股本0.49%
- 全球消息!盈峰环境(000967):独立董事提名人声明(张宇)
- 全球时讯:《新科学家》:2023年这些科技故事或将发生
- 最新消息:外汇市场最新行情走势展望:澳元/美元寻求反转突破0.6720
- 每日速讯:面对司马南的发难,张文宏为何一言不发?
- 当前播报:涨停雷达:风电个股异动 天顺风能触及涨停
- 当前要闻:经济日报:把恢复和扩大消费摆在优先位置
