初識spark,需要對其API有熟悉的了解才能方便開發(fā)上層應(yīng)用。本文用圖形的方式直觀表達(dá)相關(guān)API的工作特點(diǎn),并提供了解新的API接口使用的方法。例子代碼全部使用python實(shí)現(xiàn)。

1. 數(shù)據(jù)源準(zhǔn)備

準(zhǔn)備輸入文件:

$ cat /tmp/inapple
bag bag
cat cat cat

啟動pyspark:

$ ./spark/bin/pyspark

使用textFile創(chuàng)建RDD:

>>> txt = sc.textFile("file:///tmp/in", 2)

查看RDD分區(qū)與數(shù)據(jù):

>>> txt.glom().collect()
[[u'apple', u'bag bag'], [u'cat cat cat']]

2. transformation

flatMap

處理RDD的每一行,一對多映射。

代碼示例:

>>> txt.flatMap(lambda line: line.split()).collect()
[u'apple', u'bag', u'bag', u'cat', u'cat', u'cat']

示意圖:

大數(shù)據(jù)培訓(xùn),云培訓(xùn),數(shù)據(jù)挖掘培訓(xùn),云計(jì)算培訓(xùn),高端軟件開發(fā)培訓(xùn),項(xiàng)目經(jīng)理培訓(xùn)

map

處理RDD的每一行,一對一映射。

代碼示例:

>>> txt
        
		

網(wǎng)友評論