Любое исправление для UserWarning: pyarrow.open_stream устарела, пожалуйста, используйте pyarrow.ipc.open_stream? - PullRequest
2 голосов
/ 20 июня 2019

При преобразовании spark df в pandas df с помощью функции pyarrow я получаю следующее предупреждение:

UserWarning: pyarrow.open_stream устарела, используйте pyarrow.ipc.open_stream

Я использую версию Python 3.7 и Pyspark 2.4.3. pyspark df размер 170000 строк и 40 столбцов При преобразовании его в панд с помощью функции Pyarrow я получаю только 61585 строк и 40 столбцов в качестве вывода, несмотря на получение полных данных.

train_set.count()
170000

spark.conf.set("spark.sql.execution.arrow.enabled", "True")
result_pdf = train_set.select("*").toPandas()

> C:\anaconda\lib\site-packages\pyarrow\__init__.py:152: UserWarning:
> pyarrow.open_stream is deprecated, please use pyarrow.ipc.open_stream 
> warnings.warn("pyarrow.open_stream is deprecated, please use "


 result_pdf.shape
    (61585, 40)

Ожидаемый:

result_pdf.shape
(170000,40)

Фактический:

result_pdf.shape
(61585,40)

1 Ответ

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

Наконец-то я нашел решение для вышеуказанного запроса.Это была проблема с типом данных.В одном из моих столбцов я генерировал вероятность при обработке в искре, которая выдала выходное значение как 4,333333. Вероятность инкейсона равна 4,3, а последующее округление также не работало, поскольку при преобразовании не сохранялись все строки для указанного столбца.Поскольку spark обрабатывает его с помощью Java, существует предопределенная длина переменной типа float и string, которую позволяет обрабатывать Java.Вышеупомянутая колонна пересекала то же самое.Следовательно, он хранил df с некоторыми строками в форме ошибки.При удалении этого столбца, когда я пытался преобразовать в панд, он быстро преобразовал все строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...