Есть ли другой / подобный метод для sparks.read.format.load вне базы данных? - PullRequest
0 голосов
/ 07 июня 2019

Я пытаюсь загрузить файл avro в фрейм данных Sparks, чтобы преобразовать его в pandas и, в конечном итоге, в словарь.Метод, который я хочу использовать:

df = spark.read.format("avro").load(avro_file_in_memory)

(Примечание: данные файла avro, которые я пытаюсь загрузить в фрейм данных, уже находятся в памяти как ответ на запрос запроса от запросов Python)

Однако эта функция использует искры, встроенные в среду блоков данных, в которой я не работаю (я искал pysparks для аналогичной функции / кода, но сам ничего не видел).

Есть ли подобная функция, которую я могу использовать вне блоков данных для получения тех же результатов?

1 Ответ

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

Эта библиотека Databricks является открытым исходным кодом, но фактически была добавлена ​​в ядро ​​Spark в 2.4 (хотя все еще является внешней библиотекой)

В любом случае, есть собственная библиотека Python avro, а также fastavro, поэтому я не совсем уверен, хотите ли вы запускать JVM (потому что вы используете Spark), просто для загрузки данных Avro в словарь. Кроме того, файл Avro состоит из нескольких записей, поэтому он будет, по крайней мере, списком словарей

В принципе, я думаю, что вам лучше использовать подход из предыдущего вопроса, но начните с записи данных Avro на диск, поскольку это, кажется, ваша текущая проблема

В противном случае, возможно, немного больше поиска того, что вы ищете, решит эту проблему XY у вас

https://github.com/ynqa/pandavro

...