- 1. 連接配接本地spark
- 2. 建立dataframe
- 3. 檢視字段類型
- 4. 檢視列名
- 5. 檢視行數
- 6. 重命名列名
- 7. 選擇和切片篩選
- 8. 删除一列
- 增加一列
- 9. 轉json
- 10. 排序
- 11. 缺失值
- 12. sparkDataFrame和python變量互轉
1. 連接配接本地spark
import
2. 建立dataframe
# 從pandas dataframe建立spark dataframe
3. 檢視字段類型
# 檢視列的類型 ,同pandas
4. 檢視列名
# 檢視有哪些列 ,同pandas
5. 檢視行數
# 行數
6. 重命名列名
# dataframe列名重命名
7. 選擇和切片篩選
這個應該是dataframe最常用最重要的操作了。
# 1.列的選擇
8. 删除一列
# 删除一列
增加一列
from
9. 轉json
# dataframe轉json,和pandas很像啊
10. 排序
# pandas的排序
11. 缺失值
# 1.生成測試資料
12. sparkDataFrame和python變量互轉 在sparkSQL程式設計的時候,經常需要擷取DataFrame的資訊,然後python做其他的判斷或計算,比如擷取dataframe的行數以判斷是否需要等待,擷取dataframe的某一列或第一行資訊以決定下一步的處理,等等。
(1)擷取第一行的值,傳回普通python變量
value = df.select('columns_name').first()[0]
# 由于 first() 傳回的是 Row 類型,可以看做是dict類型,
# 在隻有一列的情況下可以用 [0] 來擷取值。
(2)擷取第一行的多個值,傳回普通python變量
row = df.select('col_1', 'col_2').first()
col_1_value = row.col_1
col_2_value = row.col_2
# first() 傳回的是 Row 類型,可以看做是dict類型,用 row.col_name 來擷取值
(3)擷取一列的所有值,或者多列的所有值
rows= df.select('col_1', 'col_2').collect()
value = [[ row.col_1, row.col_2 ] for row in rows ]
# collect() 函數将分布式的dataframe轉成local類型的 list-row 格式,
# 既然是row類型,就和前面的取值方法一樣了