2014-09-28 3 views

ответ

0

Используйте один из модулей xml python для анализа XML-файла. Если у вас не намного больше 27 ГБ, вам нужно будет сделать это постепенно, поэтому ограничьте свой выбор соответствующим образом. Используйте CSV-модуль для записи CSV-файла.

Ваша настоящая проблема в этом. Файлы Csv - это строки полей. Они представляют собой прямоугольную таблицу. Xml-файлы, в общем, могут представлять более сложные структуры: иерархические базы данных и/или несколько таблиц. Таким образом, ваша реальная проблема - понять формат дампа данных достаточно хорошо, чтобы извлечь записи для записи в CSV-файл.

+0

Посмотрите на связанные вопросы и на возможную помощь. –

0

Я написал функцию PySpark для синтаксического анализа .xml в .csv. XmltoCsv_StackExchange - это реплика github. Использовал его для конвертирования 1 ГБ xml в течение 2-3 минут на минимальную 2-ядерную и 2 ГБ оперативную память Spark. Он также может конвертировать 27-гигабайтный файл, просто увеличивайте minPartitions от 4 до 128 в этой строке.

raw = (sc.textFile(fileName, 4)) 

 Смежные вопросы

  • Нет связанных вопросов^_^