1.map与flatMap 的区别;
使用map产生的 list 是分层的,第一层是 List 文件文本的第一行,第二层是 List 每一行内英文单词,
而 flatMap 有平铺的意思,产生的 List 会去掉分层,
文件读取
textFile = sc.textFile('dir/目录')
Word 分散,偏平化
stringRDD= textFile.flatMap(lambda line: line.split(" "))
使用map 创建 Key - value 形式对
words = stringRDD.map(lambda word:(word,1))
使用reduceByKey()统计每个单词出现次数
words.reduceByKey(lambda x,y:x + y).collect()
map、flatMap、reduceByKey 都是tranfromations 懒惰操作