【发布时间】:2017-04-17 07:09:07
【问题描述】:
我正在使用 pyspark 进行字数统计。有很多中文单词。我想将结果保存到文件中,但 saveAsTextFile() 无法将正确的中文字符写入文件。 这是我的代码
sc = SparkContext()
# read files
dir_path = '/Users/vera/learn/data_mining/caoz'
file_rdd = sc.wholeTextFiles(dir_path,use_unicode=True)
counts = file_rdd.map(lambda (k,v):v).\
flatMap(lambda line:line.split('\n')).\
map(lambda word:(word,1)).\
reduceByKey(lambda a,b:a+b).\
sortBy(lambda a: -a[1])
counts.saveAsTextFile('counts')
输出是 '\x**' 之类的 utf-8 编码,不是汉字。我尝试了编码和解码,它们都不起作用。 所以,我想知道怎么处理还是saveAsTextFile()不能处理汉字?
【问题讨论】:
标签: python apache-spark utf-8 character