pyspark中讀取檔案後的RDD操作

2021-09-24 16:35:54 字數 1519 閱讀 2631

本文記錄下在python環境中對rdd的一些操作方法 

1. 建立rdd

關於讀取檔案建立rdd的方法在前面文章已經介紹過來,這裡就不做介紹了。

還有一種自定義的

data_rdd = sc.parallelize([('alina',26),('tom',22),('sky',12),('blue',21)])
2. lambda 表示式

在rdd重最常用到的就是lambda和map一起使用的,比如

raw_data.map(lambda x:x.split(",")[0:3])
上面的意思就是講rdd中每一行按照,拆分,然後去前3個元素出來 

3. filter 轉換,可以從資料集中選擇元素 

raw_filter = raw_data.filter(lambda x:x[1]=='a' ) 

raw_filter.count()

4.  distinct 轉換

用來指定列中不同的值,一般用來檢驗資料集,注意此方法是高開銷方法,應該謹慎使用。

distinct_user = raw_data.map(lambda x:x[1]).distinct()

distinct_user.collect()

檢視rdd中第二列的的元素值

5. repartition 轉換

raw_data = raw_data.repartition(4)
該方法用來對資料集進行分割槽,改變資料集分割槽數量,該方法應該謹慎使用並在有真正需要的時候才使用,因為其會重組資料,對效能方面產生巨大的影響。

6. take 方法

最有用的取數方法,實際操作中一般不適用collect來取數,該方法優於collect方法的地方在於該方法只返回前n行 

raw_data.take(1)
7. collect  方法

該方法講所有rdd的元素返回給驅動程式。

8. reduce 方法

通過該方法使用指定的方法來減少rdd中的元素

raw_data.map(lambda x:x[1]).reduce(lambda x,y:x+y)
9 .count 方法

raw_data.count()
統計rdd的元素數量 

10.foreach 方法

該方法對rdd裡的每個元素,用迭代的方法應用相同的函式,和.map()比較,foreach()方法按照乙個接乙個的方式,對每一條記錄應用乙個定義好的函式。

pyspark讀取csv檔案建立DataFrame

mark一下,感謝作者分享!方法一 用pandas輔助 from pyspark import sparkcontext from pyspark.sql import sqlcontext import pandas as pd sc sparkcontext sqlcontext sqlcont...

R語言讀取檔案

本文的主要內容是讀取檔案內容,並且將檔案中的所有內容沒咧放在乙個物件當中,以便之後進行操作,樣本資料如下 kernel coorauthor num 鄭稱德 丁俊武 1 鄭稱德 韓玉啟 2 鄭稱德 周梅 3 丁俊武 韓玉啟 4 丁俊武 鄭稱德 4 丁俊武 周梅 4 丁俊武 仇成 43 丁俊武 馮俊文...

R讀取excel檔案

一 使用軟體包xlsreadwrite library xlsreadwrite data read.xls choose.files d r rscript mydm wang2.xls 二 使用軟體包xlconnect library xlconnectjars library xlconnec...