peak_ZN

hadoop常遗忘点

hadoop安装:

sudo tar -zxf ~/下载/hadoop-3.1.3.tar.gz -C /usr/local      # 解压到/usr/local中

cd /usr/local/

sudo mv ./hadoop-3.1.3/ ./hadoop     # 将文件夹名改为hadoop

sudo chown -R hadoop ./hadoop     # 修改文件权限  (若文件夹名hadoop-3.1.3没有进行修改,则修改文件权限应该这样写sudo chown -R hadoop ./hadoop-3.1.3)

伪分布:

在hdfs上创建文件夹:./bin/hdfs dfs -mkdir -p /spark/input  

注解:hdfs的路径须得明确在hadoop的bin下,即下图的根路径是/usr/local/hadoop-3.2.1,因此hdfs的路径为./bin/hdfs;而/spark/input该路径指的是在伪分布里新创的文件夹。

put上传: ./bin/hdfs dfs -put /usr/local/spark/test/1.txt /spark/input

注解:将文件1.txt上传到伪分布中的/spark/input目录中,其中1.txt的路径得写全,且我的1.txt文件里面写的内容是hello world。

查看上传的文件: ./bin/hdfs dfs cat /spark/input/1.txt

 

 

 代码:

rdd = sc.textFile("hdfs://localhost:9000/spark/input/1.txt")    #代码展示主要关于伪分布中的/spark/input/1.txt

 

result = rdd.flatMap(lambda x:x.split(" ")).map(lambda x:(x,1)).reduceByKey(lambda x,y:x+y)      #map-reduce

result.saveAsTextFile("hdfs://localhost:9000/spark/output/10.txt")     #将map-reduce所形成的结果存放在伪分布的文件/spark/output/10.txt中,其中output及10.txt不用另外创建,只用此代码即可进行显示

print(result.collect())      #将存放在10.txt中的map-reduce结果显示出来

注解:

 

 

 

 

 

 

posted on 2022-11-03 18:23  榫ning  阅读(22)  评论(0编辑  收藏  举报