天天看點

pyspark的用法pyspark -h 檢視用法檢視sc變量用pyspark開發一個WordCount程式

pyspark -h 檢視用法

pyspark -h

Usage: pyspark [options]

常見的[options] 如下表:

pyspark的用法pyspark -h 檢視用法檢視sc變量用pyspark開發一個WordCount程式

輸入pyspark -h 檢視各參數的定義

pyspark的用法pyspark -h 檢視用法檢視sc變量用pyspark開發一個WordCount程式

檢視sc變量

  • 不指定--master時
    pyspark
      (檢視sc變量)
      sc
               
pyspark的用法pyspark -h 檢視用法檢視sc變量用pyspark開發一個WordCount程式
  • 指定--master時
    pyspark --master spark://node1:7077
      (檢視sc變量)
      sc
               
pyspark的用法pyspark -h 檢視用法檢視sc變量用pyspark開發一個WordCount程式

用pyspark開發一個WordCount程式

輸入下面的代碼并運作(路徑根據情況修改)。

  • 在本地建立一個檔案:/home/hadoop/252/input/data.txt (hadoop是本地使用者名,252表示檔案名,兩個值請根據情況修改)。此路徑也可以換為hdfs的路徑。

    data.txt檔案中的内容是:

    a good beginning is half the battle
    
      where there is a will there is a way
               
  • 一行代碼實作WordCount
    sc.textFile("/home/hadoop/252/input/data.txt").flatMap(lambda line: line.split(" ")).map(lambda word : (word,1)).reduceByKey(lambda x,y : x+y).saveAsTextFile("/home/hadoop/252/output/0222")
               
pyspark的用法pyspark -h 檢視用法檢視sc變量用pyspark開發一個WordCount程式
  • 多行代碼實作WordCount(單步)
    rdd1 = sc.textFile("/home/hadop/252/input/data.txt")  #延時讀取資料
      rdd1.collect()  #檢視結果(清單方式)
               
pyspark的用法pyspark -h 檢視用法檢視sc變量用pyspark開發一個WordCount程式
rdd2 = rdd1.flatMap(lambda line: line.split(" "))  #将每句話進行分詞,再整合到一個清單
rdd2.collect()  #檢視結果(清單方式)
           
pyspark的用法pyspark -h 檢視用法檢視sc變量用pyspark開發一個WordCount程式
rdd3 = rdd2.map(lambda word : (word,1))  #每個單詞記一次數,将單詞和1構成元組
rdd3.collect()  #檢視結果(清單方式)
           
pyspark的用法pyspark -h 檢視用法檢視sc變量用pyspark開發一個WordCount程式
rdd4 = rdd3.reduceByKey(lambda x,y:x+y)  #再将value進行累加,把相同的Key的value進行累加
rdd4.collect()  #檢視結果(清單方式)
           
pyspark的用法pyspark -h 檢視用法檢視sc變量用pyspark開發一個WordCount程式
rdd4.saveAsTextFile("/home/hadoop/252/output/0333")  #儲存到指定目錄,此目錄預先不能存在
           

最後,輸出檢視目錄中的内容

pyspark的用法pyspark -h 檢視用法檢視sc變量用pyspark開發一個WordCount程式
pyspark的用法pyspark -h 檢視用法檢視sc變量用pyspark開發一個WordCount程式

轉載于:https://www.cnblogs.com/jiajiaba/p/10581878.html