我有很大的mbox文件,可以使用邮箱api解析该文件并将其转储到csv
import mailbox
import csv
mbox = mailbox.mbox("emailfile.mbox")
for message in mbox:
with open('mail.csv','w') as fp:
writer = csv.writer(fp,delimiter=',')
for message in mbox:
data = [ (message['Date'],message['From'], message['To'], message['subject']) ]
writer.writerows(data)
print data
如何使用pySpark和map reduce做到这一点?
我无法弄清楚如何将文件加载到rdd并以map reduce方式使用邮箱api。
有任何想法吗 ?
最佳答案
我想出了办法,并在这里上传了我的代码-https://github.com/bbalegere/Spark-EmailDump-Analyser
我使用formail命令将mbox文件拆分为单个eml文件,然后使用sc.wholeTextFiles读取包含所有eml文件的目录并对其执行并行操作。
关于python - Spark在Python中使用Map Reduce分析大型mbox邮箱文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45675973/