微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

2.安装Spark与Python练习

一、安装Spark

1、检查基础环境hadoop,jdk

2、下载spark

3、解压,文件重命名、权限

4、配置文件

 配置spark的classpath

$ cd /usr/local/spark
$ cp ./conf/spark-env.sh.template ./conf/spark-env.sh   #拷贝配置文件

文件加上如下一行内容

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

保存配置文件后,就可以启动、运行Spark

 

5、环境变量

在gedit ~/.bashrc文件中加入

aa

图1环境变量

source ~/.bashrc    # 环境变量生效

 

6、试运行Python代码

执行如下命令启动pyspark(无参数,认是local[*]模式)

 cd /usr/local/spark
 ./bin/pyspark

启动pyspark,成功后在输出信息的末尾可以看到“>>>”的命令提示

在里面输入python代码进行测试:

图2pyspark运行界面

 

二、Python编程练习:英文文本的词频统计

1、准备文本文件

准备英语文本 f1.txt

图三英语文本

2、读文件

path='/home/hadoop/wc/f1.txt'
with open(path) as f:
    text=f.read()

3、预处理:大小写,标点符号,停用词

text = text.lower()                           # 转为小写字母
    for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_‘{|}~':    
        text = text.replace(ch, ' ')

4、分词

words = text.split()

 

5、统计每个单词出现的次数

counts={}
for word in words:
    # 若字典中无当前词语则创建一个键值对,若有则将原有值加1
    counts[word] = counts.get(word, 0) + 1 
    
items = list(counts.items())               # 将无序的字典类型转换为有序的列表类型

6、按词频大小排序

items.sort(key=lambda x: x[1], reverse=True)      # 按统计值从高到低排序(以第二列排序)
for i in range(len(items)):
    word, count = items[i]
    print("{0:<10}{1:>5}".format(word, count))              # 格式化输出词频统计结果
    open('output.txt', 'a').write(word+"\t\t\t"+str(count)+"\n")    # 写入output.txt中

7、查看运行结果

 图四运行结果

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐