Может ли спаркфрейм данных (scala) быть преобразован в фрейм данных в pandas (python) - PullRequest
0 голосов
/ 05 апреля 2020

Dataframe создается с использованием scala API для SPARK

val someDF = spark.createDataFrame( spark.sparkContext.parallelize(someData), StructType(someSchema) )

Я хочу преобразовать это в Pandas Dataframe

PySpark предоставляет .toPandas() для преобразования искрового фрейма данных в pandas, но нет эквивалента для scala (который я могу найти)

Пожалуйста, помогите мне в этом отношении.

Ответы [ 2 ]

1 голос
/ 05 апреля 2020

Чтобы преобразовать Spark DataFrame в Pandas DataFrame, вы можете включить spark.sql.execution.arrow.enabled в true, а затем прочитать / создать DataFrame с помощью Spark и затем преобразовать его в Pandas DataFrame с помощью стрелки

  1. Включить spark.conf.set("spark.sql.execution.arrow.enabled", "true")
  2. Создать DataFrame, используя Spark, как вы это сделали:
    val someDF = spark.createDataFrame()
Преобразуйте то же самое в pandas DataFrame
result_pdf = someDF.select("*").toPandas()

Вышеприведенные команды выполняются с использованием стрелки, поскольку config spark.sql.execution.arrow.enabled имеет значение true

Hope это помогает!

1 голос
/ 05 апреля 2020

В Spark DataFrame - это просто абстракция над данными, наиболее распространенными источниками данных являются файлы из файловой системы. Когда вы преобразуете фрейм данных в PySpark в формат Pandas, PySpark просто конвертирует абстракцию PySpark над данными в другую абстракцию из другого python фреймворка. Если вы хотите сделать преобразование в Scala между Spark и Pandas, вы не сможете этого сделать, потому что Pandas - это библиотека Python для работы с данными, но искры нет, и у вас будут некоторые трудности с Python и Scala интеграция. Лучшие простые вещи, которые вы можете сделать здесь:

  1. Запись данных в файловую систему на scala Spark
  2. Считывание данных из файловой системы с использованием Pandas.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...