text_file = sc.textFile("/Users/xxx/Desktop/BigData/assign1/abc")
count1 = text_file.flatMap(lambda line: line.split(" "))
.map(lambda x : (x, 1)) \
.reduceByKey(lambda a, b: a + b)
我只是以此为例。我有一个156215条目的巨大数据集
['这','是','我的','房间'] 这让我回到单字数。
如果我需要一次找到两个单词的数量。
['这是','是我','我的房间']
我已尝试过所有内容,但它返回TypeError:PipelinedRDD问题。
答案 0 :(得分:1)
请注意,这仍然按行操作;所以,如果您的文件看起来像
this is a test
what happens next
然后test what
不计算在内。
def word_pairs(line):
words = line.split()
return [a + " " + b for a,b in zip(words, words[1:])]
pairs = text_file.flatMap(word_pairs)
count = pairs.map(lambda x: (x, 1)).reduceByKey(lambda a, b: a + b)