Как мне обрабатывать вложенные структуры данных (например, JSON, XML, Parquet) с помощью Dask? - PullRequest
1 голос
/ 16 июня 2020

Мы часто работаем с научными наборами данных c, распределенными в виде небольших (<10G сжатых) отдельных, но сложных файлов (xml / json / parquet). UniProt - один из примеров, а <a href="https://nbviewer.jupyter.org/github/related-sciences/platform-pipe/blob/master/notebooks/analysis/uniprot.ipynb#schema" rel="nofollow noreferrer"> - это схема для него .

Обычно мы обрабатываем такие данные с помощью Spark, поскольку он хорошо поддерживается. Я хотел посмотреть, что может существовать для такой работы с API Dataframe или Bag. Вот несколько конкретных c вопросов, которые у меня были:

Существует ли что-нибудь для этого, кроме написания пользовательских python функций для Bag.map или Dataframe/Series.apply? Учитывая любой набор данных, совместимый с Parquet, существуют ли какие-либо вторичные экосистемы более общих c (возможно, JIT-скомпилированных) функций, по крайней мере, для выполнения простых вещей, таких как запрос отдельных полей по пути xml / json? Кто-нибудь проделал работу, чтобы эффективно вывести вложенную схему из xml / json? Даже если эта схема была объектом, который Dask / Pandas не может использовать, простое знание этого было бы полезным для выяснения того, как писать функции для чего-то вроде Bag.map. Я знаю, что существует масса Python json библиотек вывода схемы, но ни одна из них не выглядит скомпилированной или иным образом созданной для повышения производительности при применении к тысячам или миллионам отдельных json объектов.

...