Я пишу файл паркета из Spark DataFrame следующим образом:
df.write.parquet("path/myfile.parquet", mode = "overwrite", compression="gzip")
Это создает папку с несколькими файлами в ней.
Когда я пытаюсь прочитать это в пандах, я получаю следующие ошибки, в зависимости от того, какой парсер я использую:
import pandas as pd
df = pd.read_parquet("path/myfile.parquet", engine="pyarrow")
PyArrow:
Файл "pyarrow \ error.pxi", строка 83, в pyarrow.lib.check_status
ArrowIOError: Неверный файл паркета. Поврежденный нижний колонтитул.
fastparquet:
Файл "C: \ Program Files \ Anaconda3 \ lib \ site-packages \ fastparquet \ util.py", строка 38, в default_open
открыть назад (режим f)
PermissionError: [Errno 13] Отказано в доступе: 'путь / myfile.parquet'
Я использую следующие версии:
- Spark 2.4.0
- Панды 0,23,4
- пиарроу 0.10.0
- fastparquet 0.2.1
Я пробовал gzip и сжатие snappy. Оба не работают. Я, конечно, убедился, что у меня есть файл в месте, где у Python есть права на чтение / запись.
Уже помогло бы, если бы кто-нибудь смог воспроизвести эту ошибку.