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
相关文章
pyspark在windows的安装和使用(超详细)_全球快资讯
本文主要介绍在win10上如何安装和使用pyspark,并运行经典wordcount示例,以及分享在运行过程中遇到的问题。
重点聚焦!超前消费无法抵抗未知风险,“超额储蓄”能否转化为消费?
河南郑州,一位在某市场工作的小姑娘去银行存当天的货款。节俭是一种美德,可现在正在有人为它表示担心。中国人民银行公布的数据显示,2022年
苹果手表siri怎么用_siri怎么用
1、苹果手机语音助手Siri使手机使用更加便捷,怎么使用siri具体步骤如下。2、1、长按手机右侧按键,唤出Siri,说
骑马与砍杀无双三国作弊码大全全部秘籍一览-全球快资讯
骑马与砍杀无双三国作弊码大全全部秘籍一览这个很多人还不知道,现在让我们一起来看看吧!1、楼主,你好在登录页面有个配置,点
消失 3 年的“内娱妖精”回归,全网沸腾:终于不用丢人现眼了!
来了!来了!阔别已久的内娱明星大闹时装周终于来了。其实从上周开始,国内就有不少明星摩拳擦掌、吹响了征战米兰的号角!各种机场出发LOOK全
每日关注!赞美医者仁心的古句_形容医者仁心的诗句
1、仁义礼信圣人行,者乎焉哉儒家经。2、无仕杏坛称国手,敌疾黄齑消百病。3、神奇宏论龙廷惊,医术超群世人敬。4
和嘉控股(00704.HK)年度亏损收窄至2461.7万港元
格隆汇2月28日丨和嘉控股(00704 HK)发布公告,截至2022年12月31日止12个月,公司录得收入总额约1740
每日热文:金融时报:曼联股价暴跌近10%,格雷泽仍要求竞标者提高报价
《金融时报》报道,曼联昨天股价下跌近10%,现在俱乐部价值只有13亿英镑。由于市场担心格雷泽家族不会出售曼联俱乐部,曼联的股价在昨天暴跌接
民国十年袁大头银元价格(2023年02月28日) 报资讯
金投白银网提供民国十年袁大头银元价格(2023年02月28日),民国十年银元最新消息(2023年02月28日)。
掩饰犯罪所得收益罪既遂量刑规定
根据《刑法》第312条规定,明知是犯罪所得及其产生的收益而予以窝藏、转移、收购、代为销售或者以其他方法掩饰、隐瞒的,处三年以下有期徒刑、
这家银行信用卡提额百倍?有人额度1.8亿!
信用卡额度翻一倍已经很难,这家银行竟然直接翻了一百倍。在信用卡行业发展的过程中,银行为了完成发卡任务,尝试着用各种方式进行发卡,从线
剥离地产业务获通过 鲁商发展聚焦大健康主业推进战略转型
2月27日,鲁商发展重大资产出售暨关联交易顺利通过股东大会表决,该交易是鲁商发展聚焦大健康产业、实现战略转型的重要举措。本次交易完成后,
保卫萝卜4周赛2月27日攻略 2.27周赛关卡怎么过
保卫萝卜4周赛2月27日关卡怎么过?2月27日最新的周赛关卡很多玩家都在尝试,今天更新的关卡具体如何过关是玩家们想知道的,在这里为大家介绍2
【焦点热闻】英雄联盟战力排行查询_英雄联盟战力指数查询
1、从游戏主界面下方的“排行”进入游戏排行榜,默认显示的是你与好友的排行,在顶部可以调整为“全服”或者“战区”其中战区的
十字架与吸血鬼第三季动漫_十字架与吸血鬼第三季-天天新动态
1、我已经回答过很多遍这个问题了,有可能,但可能性不大。2、虽然已进入审评阶段,但《十字2》在日本并不太受欢迎,加上动漫
vivoxfold2充电与影像方面改变
关注去年蓝厂阵营vivo先后推出了vivoXFold以及vivoXFold+两款折叠屏手机,这两款折叠屏手机的主打卖点在于内外屏的高素质表现以及内屏与外屏的超声
环球关注:问律师问题需要收费吗_问律师
1、你好,你这种情况是可以评上伤残等级的,工地一般都会有购买不挂名的工伤保险的。2、你可以选找工头沟通,如果沟通不行,可
讯息:亚洲青年运动会什么时候在汕头举办_亚洲青年运动会在汕头举办的时间
欢迎观看本篇文章,小升来为大家解答以上问题。亚洲青年运动会什么时候在汕头举办,亚洲青年运动会在汕头举办的时间很多人还不知
新版国家医保药品目录将于2023年3月1日正式实施 环球热点
金融界2月27日消息据中国政府网,新版国家医保药品目录将于2023年3月1日正式实施,新版国家医保药品目录新增111个药品,谈判和竞价新准入的药