Outlook преобразование электронной почты в формат файла json с использованием pyspark - PullRequest
0 голосов
/ 27 июня 2019

У меня есть около 1 lac outlook электронных писем, и я хочу преобразовать их в формат json, используя распределенную возможность pyspark. Письма с Outlook сначала сохраняются в формате .msg, а затем выполняется алгоритм python для преобразования их в формат json. Поскольку количество электронных писем очень велико, есть ли способ использовать реализацию pyspark для преобразования всех файлов msg в json, используя преимущества распределенной вычислительной системы spark?

1 Ответ

0 голосов
/ 27 июня 2019

Вы действительно можете сделать это с pyspark, но я не могу гарантировать производительность.

# first, acquire your data as a whole
rdd = sc.wholeTextFile("/path/to/files.msg")

# each line of your rdd will be a (key,value) pair where key is the path and value is the content of the file
# you need then to apply your python function to the "value"
json_rdd = rdd.map(lamba x : msg_to_json(x[1])

# json_rdd should now contain a json on each line, you just need to write it down
json_rdd.saveAsTextFile("/path/to/save/files.json")

С вашей стороны, вам просто нужно подготовить функцию msg_to_json, которая принимает содержимое файла msg в виде строки в записи и возвращает файл json.


EDIT
С вашей библиотекой это будет:

import extract_msg
rdd = sc.binaryFiles("/path/to/files.msg")
rdd = rdd.map(extract_msg.Message)
...