2

我有大型 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。

有任何想法吗 ?

4

1 回答 1

2

我想出了怎么做,我在这里上传了我的代码 - https://github.com/bbalegere/Spark-EmailDump-Analyser

我使用 formail 命令将 mbox 文件拆分为单独的 eml 文件,然后使用 sc.wholeTextFiles 读取包含所有 eml 文件的目录并对其运行并行操作。

于 2017-09-12T18:51:49.970 回答