При преобразовании моего фрейма данных pyspark в pandas фрейм данных (в Pandas) я получаю ошибку ниже:
File "/usr/local/lib/python3.7/site-packages/pyspark/sql/dataframe.py", line 2121, in toPandas batches = self._collectAsArrow()
File "/usr/local/lib/python3.7/site-packages/pyspark/sql/dataframe.py", line 2179, in _collectAsArrow return list(_load_from_socket(sock_info, ArrowStreamSerializer()))
File "/usr/local/lib/python3.7/site-packages/pyspark/rdd.py", line 144, in _load_from_socket (sockfile, sock) = local_connect_and_auth(*sock_info)
TypeError: local_connect_and_auth() takes 2 positional arguments but 3 were given
Я использую pyarrow. Для этого я добавил в свой SparkConf следующий conf:
.set("spark.sql.execution.arrow.enabled", "true")
.set("spark.sql.execution.arrow.fallback.enabled", "true")
.set("spark.sql.execution.arrow.maxRecordsPerBatch", 5000)
В этом процессе я читаю примерно 80M строк .
Примечание : эта ошибка появляется только тогда, когда я включил «стрелку», иначе все работает нормально.