ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

安装spark和python练习

2022-03-05 15:00:19  阅读:163  来源: 互联网

标签:word python 练习 pycharm spark txt local


一、安装并配置Spark

1.首先检查一下java和hadoop的环境

2.下载spark

3.解压spark安装包,对文件夹重命名,复制配置文件

4.对配置文件进行修改

1.对/usr/local/spark/conf/spark-env.sh的配置文件进行修改,加入

export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)

2.其次,再对~/.bashrc配置文件进行修改,加入

# spark python 
export SPARK_HOME=/usr/local/spark
export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.9.2-src.zip:PYTHONPATH
export PYSPARK_PYTHON=python3
export PATH=$PATH:$SPARK_HOME/bin

3.配置好环境变量之后,进行

source ~/.bashrc

5.配置好环境之后就可以启动spark了,

6.输入python代码进行测试

7.结束测试之后可以通过exit()quit()退出spark

二、用python实现英文文本的词频统计

1.实验所要使用的英语文章的材料

2.对文件进行读取

txt = open("/usr/local/spark/pythonspark/workcount.txt", "r").read() # 读取文件

3. 对数据进行预处理

    txt = txt.lower() # 把所有字母都变成小写,便于统计    
    #将文本中特殊字符替换为空格
    for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~':
        txt = txt.replace(ch, " ")   
    return txt

4.预处理完之后读取文件的内容

hamletTxt = getText()

5.读取停用词

f = open("/usr/local/spark/pythonspark/ceasetext.txt","r",encoding = 'UTF-8')
a = f.read()
ceasetext_n= a
f.close()

停用词列表如下

6.将上述停用词筛选出去

# 将停用词剔除掉
words  = hamletTxt.split()  # 将文本用空格分隔
finalword = []
for word in words:
    if word not in ceasetext_n:
    	finalword.append(word)

7.统计单词出现的次数并且进行排序

counts = {}
# 统计单词出现的次数
for word in finalword:
    counts[word] = counts.get(word,0) + 1
items = list(counts.items())
 
# 排序,按单词出现的次数从大到小排好序
items.sort(key=lambda x:x[1], reverse=True) 

8.最后将次数排名前50的单词打印出来

for i in range(50):
    word, count = items[i]
    print ("{0:<10}{1:>5}".format(word, count))

三、python编程环境的搭建(本人选择pycharm作为ide来使用)

1. 下载pycharm

2. 对pycharm压缩包进行解压,并且赋权

tar -zxvf  pycharm-community-2021.3.2.tar.gz 路径
sudo chown -R 用户名 目标路径

3. 启动pycharm

pycharm.sh

4.安装完成

标签:word,python,练习,pycharm,spark,txt,local
来源: https://www.cnblogs.com/ddff/p/15968041.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有