Spark使用Python中的map reduce分析大型mbox邮箱文件

时间:2017-08-14 13:44:27

标签: python csv apache-spark mbox

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

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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

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