Spark的基本使用

2021-10-03 00:02:29 字數 941 閱讀 8022

啟動spark shell

開啟命令列或終端——pyspark

import pyspark

匯入pyspark

檢視spark context資訊

讀入檔案:

列印檔案內容

可利用collect()函式,它能夠以陣列的形式,返回rdd資料集的所有元素

lines = spark.read.text(『file:///home/wordcound.txt』).rdd

for i in lines.collect():

print(i)

處理檔案:

lines儲存的是row object型別

將其中的string取出,利用map api進一步轉換rdd

lines_map = lines.map(lambda x: x[0])

for i in lines_map.collect():

print(i)

統計詞頻

為了統計每個單詞的出現頻率,需要對每個單詞分別統計

第一步需要將字串以空格作為分隔符將單詞提取出來

第二步是為每個詞設定乙個計數器

flat_map = lines_map.flatmap(lambda x: x.split(』 '))

rdd_map = flat_map.map(lambda x: [x, 1])

for i in rdd_map.collect():

print(i)

將每個詞視作為乙個key,相同的key對應的值相加,統計每個詞出現的次數

第三部對rdd_map的中的元素執行相加「add」操作得出詞頻

from operator import add

add_map = rdd_map.reducebykey(add)

for i in add_map.collect():

print(i)

spark基本使用

啟動pysparkcd usr local spark bin pyspark統計文字的行數lines sc.textfile file usr local spark readme.md lines.count rdd的persisit方法會將該rdd物件持久化到記憶體中,對於可能會被重複呼叫的r...

Spark的基本概念

2018年年末,開始spark學習 block 輸入可能以多個檔案的形式儲存在hdfs上,每個file都包含了很多塊,稱為block。inuptsplit 當spark讀取這些檔案作為輸入時,會根據具體資料格式對應的inputformat進行解析,一般是將若干個block合併成乙個輸入分片,稱為in...

Spark基本概念

下面是spark的乙個日誌計數示例,該程式演示了spark的計算模型 下面是spark執行時涉及的各元件的概況圖 從rdd轉換和儲存角度,使用者程式對rdd通過多個函式進行操作,將rdd進行轉換。block manager管理rdd的物理分割槽,每個block就是節點上對應的乙個資料塊,可以儲存在記...