我有一个很大的 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 文件的目录并对其运行并行操作。
