初識spark,需要對其API有熟悉的了解才能方便開發(fā)上層應(yīng)用。本文用圖形的方式直觀表達相關(guān)API的工作特點,并提供了解新的API接口使用的方法。例子代碼全部使用python實現(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']
示意圖:
map
處理RDD的每一行,一對一映射。
代碼示例:
>>> txt