2 pyspark學習 基本操作

2021-09-26 08:37:36 字數 2847 閱讀 3098

2 pyspark的基本操作。

1

#coding:utf-8

2from pyspark import

sparkcontext, sparkconf

34 sc = sparkcontext()#

init contet

5 intrdd = sc.parallelize([3,1,2,5,5])#

create rdd

6 stringrdd = sc.parallelize(['

','orange

','yellow'])

7print intrdd.collect()#

transfrom to python

8print

stringrdd.collect()9#

每個元素+1

10print intrdd.map(lambda x:x+1).collect()#

4,2,3,6,611#

輸出小於3

12print intrdd.filter(lambda x:x<3).collect()#

print number<3 in rdd

13print stringrdd.filter(lambda x:'ra'

in x).collect()#

print contain 'ra'

1415

print

intrdd.distinct().collect()16#

奇數偶數分開

17 result = intrdd.groupby(lambda x:x%2).collect()

18print sorted([(x,sorted(y)) for(x,y) in

result])

1920

#多個rdd並集

21 intrdd1 = sc.parallelize([3,1,2,3,5])

22 intrdd2 = sc.parallelize([8,2,1,9,5])

23 intrdd3 = sc.parallelize([7,1,3,4,7])

24print

intrdd1.union(intrdd2).union(intrdd3).collect()

2526#交集

27print

intrdd1.intersection(intrdd2)

2829#差集

30print

intrdd1.subtract(intrdd2)

3132

#笛卡爾集

33print intrdd1.cartesian(intrdd2).collect()#

返回10個元素

3435

#讀取元素36#

取第一條資料

37print

intrdd.first()38#

取前兩條資料

39print intrdd.take(2)40#

公升序排列,並取前3條資料

41print intrdd.takeordered(3)42#

降序排列,並取前3條資料

43print intrdd.takeordered(3,lambda x:-x)

4445

#統計功能 min max stdev count sum mean

46print

intrdd.stats()

4748

#轉換操作

49 kvrddw1 = sc.parallelize([(1,2),(3,4),(5,6),(7,8)])50#

分別得到keys values

51print kvrddw1.keys().collect()#

1 3 5 7

52print kvrddw1.values().collect()#

2 4 6 8

5354

#篩選元素 篩選小於5的資料 x[0]按照值 x[1]按照鍵

55print kvrddw1.filter(lambda x:x[0]<5).collect()

56print kvrddw1.filter(lambda x:x[1]<5).collect()57#

值運算 mapvalues處理value

58print kvrddw1.mapvalues(lambda x:x**2).collect()

5960

#按照key排序

61print

kvrddw1.sortbykey().collect()

62print

kvrddw1.sortbykey(true).collect()

63print kvrddw1.sortbykey(false).collect()#

倒序6465#

對具有相同key的進行合併

66print kvrddw1.reducebykey(lambda x,y:x+y).collect()

6768

#多個rdd相同的key進行內連線

69 kvrdd1 = sc.parallelize([(3,4),(3,6),(5,6),(1,2)])

70 kvrdd2 = sc.parallelize([(3,8)])

71print kvrdd1.join(kvrdd2).collect()#

[(3, (4, 8)), (3, (6, 8))]

7273

#key值統計

74print

kvrdd1.countbykey().collect()75#

lookup 根據key查詢對應的value

76print kvrdd1.lookup(3)

加油!

原創 HBase學習筆記(2) 基本操作

其中test是表名,cf是列族。該錶只建立了乙個列族。格式 put 上面插入了兩條記錄。row key1和row key2是主鍵,row key1記錄有兩個欄位field1和field2,字段值分別是value1和value2。而row key2記錄只插入了乙個欄位field1,取值是value1。...

Linux基本操作2

command 1 help command 2使用手冊 man command 3資訊頁 info command 例如 hash 命令 help hash hash 就是用某種特殊演算法提取某個檔案的特徵碼 比如某個人的指紋 就可以直接找到 hits 是指執行次數 快取命中,在快取中找到了 數字...

Linux基本操作2

1 去掉遠端連線時的dns網域名稱解析 vim etc ssh sshd config 修改 usedns no 重啟服務 systemctl restart sshd 由於我的linux沒有用gui,所以沒有vim,只能寫vi 然後輸入命令 usedns 進行查詢 找到後yy複製,p貼上,dw刪除...