1、提交代码
首先将Python代码上传到对应目录,然后用 spark-submit 命令提交代码。
./bin/spark-submit ./pythonProgram/spark_hello.py hdfs://hadoop102:8020/b.txt hdfs://hadoop102:8020/output
hdfs://hadoop102:8020/b.txt 为需要分析的文件,hdfs://hadoop102:8020/output为输出文件存放路径
python代码如下:
from pyspark import SparkContext, SparkConf
import sys
__author__ = "yasaka"
conf = SparkConf().setAppName("yasaka").setMaster("local[*]")
sc = SparkContext(conf = conf)
print(sys.argv[1])
rdd = sc.textFile(sys.argv[1])
result = rdd.flatMap(lambda line:line.split()).map(lambda word:(word,1)).reduceByKey(lambda a,b:a+b)
sorted_result = result.map(lambda pairs:(pairs[1], pairs[0])).sortByKey(ascending=False).\
map(lambda pairs:(pairs[1], pairs[0]))
sorted_result.saveAsTextFile(sys.argv[2])
注意:
传入的参数为hdfs存放文件的url,其端口号8082为如下图片所示。
|