我有大型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。
有什么想法吗?
答案 0 :(得分:1)
我想出了怎么做,我在这里上传了我的代码 - https://github.com/bbalegere/Spark-EmailDump-Analyser
我使用formail命令将mbox文件拆分为单独的eml文件,然后使用sc.wholeTextFiles读取包含所有eml文件的目录并对其运行并行操作。