在jupyter notebook中如何使用pyspark?
開啟anaconda prompt 並使用pip 安裝好pyspark第三方庫。
pip install pyspark
# 導包
from pyspark import sparkcontext
# 建立會話
sc = sparkcontext.getorcreate(
)
# 建立rdd 有兩種方式
# 1. parallelize()建立。這種方式建立的是parallelcollectionrdd.
data = sc.parallelize([1
,2,3
,4])
data = sc.textfile(
'../workdata/data/ast-us-d.xlsx'
)
map類似於python的高階函式,通常情況下與lambda連用,可以看成是對每一行資料的轉換。
# map 函式使用案例
df = data.
map(
lambda x:
int(x)
)
filter() 函式,顧名思義是做篩選,從資料集中選出符合條件的資料集
data_filter = data.
filter
(lambda row:row[12]
==2020
)
flatmap() 工作方法和map() 方法的工作方法類似,但是flatmap() 可以過濾一些格式不正確的記錄。如果遇到錯誤值會返回空列表
data_flatmap = data.flatmap(
lambda x:x +
1)
distinct() 類似於pandas中dataframe的unique() 函式,返回唯一值,不過這是乙個高開銷的方法,應該謹慎使用。
data_distinct = data.
map(
lambda row: row[5]
).distinct(
)
sample() 方法返回資料集的隨機樣本.
# 引數說明:1. 指定取樣是否應該替換 2. 返回資料的分數 3. 偽隨機數產生器的種子
data_sample = data.sample(
false
,0.2
,500
)# 列印隨機數個數
data_sample.count(
)
pyspark 一 常用的轉換操作
map 對rdd中每個元素都執行乙個指定函式從而形成乙個新的rdd from pyspark import sparkconf,sparkcontext sc sparkcontext conf conf def func x return x 2 data 1,2,3,4,5 rdd sc.par...
php入門 常用函式
常用函式 隨機數 echo rand 1 6 echo mt rand 1 6 小數函式 echo floor 5.99 floor 函式向下取整 echo ceil 5.1 ceil 函式向上取整 echo round 5.1 round 函式四捨五入 echo abs 1 abs函式求絕對值 其...
Pandas常用函式入門
python data analysis library或pandas是基於numpy的一種工具,該工具是為了解決資料分析任務而建立的。pandas納入了大量庫和一些標準的資料模型,提供了高效地操作大型資料集所需的工具。pandas提供了大量能使我們快速便捷地處理資料的函式和方法。series是一維...