Spark Dataframe轉換 行動操作

2021-09-02 05:25:53 字數 676 閱讀 6297

最近拋棄了rdd,開始使用dataframe,主要還是因為使用資料庫的原因.在rdd中我們都知道惰性操作,知道rdd轉換操作和行動操作的區別,但是到了dataframe中呢,dataframe有自己的一系列方法,雖然是萬變不離其宗,dataframe歸根結底是一種特殊的rdd,但是很多地方都沒有對dataframe的轉換操作和行動操作做介紹.這也是我一直疑惑的

首先,需要肯定的是dataframe也是惰性操作的,畢竟是一種rdd,雖然我沒有看過原始碼,但是我想spark不會因為一種結構就拋棄惰性操作這樣提高效能的特性.

然後,我們看一下轉換操作和行動操作:

transform:典型的轉換操作有讀(read),篩選(filter)、拼接(union)等等,只要這個過程只改變dataframe的形態,而不需要實際取出dataframe的資料進行計算,都屬於轉換。理論上來說,etl過程中的transfrom過程,主幹流程只會有轉換操作,不會有action操作。

action:典型的動作操作有計數(count),列印表(show),寫(write)等,這些操作都需要真正地取出資料,就會觸發spark的計算。

這是我找到的很少介紹dataframe惰性操作的內容,總之還是跟rdd一樣,但是沒有很具體的介紹到底那些方法屬於轉換操作,那些屬於行動操作,但是我相信大致上還是分的清楚的,實在分不清楚的,看一下官方文件.

Spark DataFrame中的join型別

spark dataframe中join與sql很像,都有inner join,left join,right join,full join 那麼join方法如何實現不同的join型別呢?看其原型 def join right dataframe,usingcolumns seq string jo...

spark dataframe筆記(鏈結彙總)

spark dataframe筆記 dataframe行轉列 spark dataframe筆記 對dataframe一列值保留4位小數 spark dataframe筆記 按照dataframe某一列的數值排序,並增加一列索引 2 降序排 spark dataframe筆記 按照dataframe...

Spark DataFrame關於資料常用操作

sql語法 1.檢視全表資料 dataframe.show 2.檢視部分字段資料 有4種方法 1 dataframe.select 欄位名稱 show 2 dataframe.select 欄位名稱 show 推薦 3 dataframe.select col 欄位名稱 show 4 datafra...