При попытке преобразовать фрейм данных pyspark в фрейм данных pandas, используя функцию стрелки, конвертируется только половина строк. Pyspark df содержит 170000 строк.
>> spark.conf.set("spark.sql.execution.arrow.enabled", "true")
>> result_pdf = train_set.select("*").toPandas()
>> result_pdf returns only 65000 rows.
Я попытался установить и обновить pyarrow, используя следующие команды:
>> conda install -c conda-forge pyarrow
>> pip install pyarrow
>> pip install pyspark[sql]
, а затем запустить
>> spark.conf.set("spark.sql.execution.arrow.enabled", "true")
>> result_pdf = train_set.select("*").toPandas()
>>spark.conf.set("spark.sql.execution.arrow.enabled", "true")
>> result_pdf = train_set.select("*").toPandas()
Я получаю следующее предупреждение каждый раз при конвертации:
C: \ Users \ MUM1342.conda \ envs \ змей \ Lib \ сайт-пакеты \ pyarrow__init __ пй:. 152:
UserWarning: pyarrow.open_stream устарела, пожалуйста, используйте
pyarrow.ipc.open_stream warnings.warn ("pyarrow.open_stream is
устарел, пожалуйста, используйте
C: \ Users \ MUM1342.conda \ envs \ змейки \ Lib \ сайт-пакеты \ pyspark \ SQL \ dataframe.py: 2138:
UserWarning: toPandas попытался оптимизировать Arrow, потому что
«spark.sql.execution.arrow.enabled» имеет значение true, но достиг
ошибка ниже и не может продолжаться. Обратите внимание, что
«spark.sql.execution.arrow.fallback.enabled» не имеет эффекта
при сбоях в середине вычислений.
Фактический объем производства:
> train_set.count
> 170256
> result_pdf.shape
> 6500
Ожидаемый результат:
> train_set.count
> 170256
> result_pdf.shape
> 170256