我在spark(单节点,独立)上运行pyspark作业,并尝试将输出保存在本地文件系统的文本文件中。
input = sc.textFile(inputfilepath)
words = input.flatMap(lambda x: x.split())
wordCount = words.countByValue()
wordCount.saveAsTextFile("file:///home/username/output.txt")
我收到错误说
AttributeError: 'collections.defaultdict' object has no attribute 'saveAsTextFile'
基本上无论我添加到'wordCount'对象,例如collect()或map(),它都会返回相同的错误。当输出到终端时(带有for循环),代码没有问题,但我无法确定将输出发送到文件的缺失。
答案 0 :(得分:1)
您正在调用的countByValue()
method正在返回字数统计词典。这只是一个标准的python字典,并没有任何可用的Spark方法。
您可以使用your favorite method在本地保存字典。