Polars `write_parquet` на S3 с разделами делает локальную копиюPython

Программы на Python
Anonymous
 Polars `write_parquet` на S3 с разделами делает локальную копию

Сообщение Anonymous »

Я наблюдаю неинтуитивное поведение при записи на S3 из поляров с указанием разделов. А именно,
  • с use_pyarrow=False копия файлов создается локально перед загрузкой, а не очищается автоматически после этого.
  • с use_pyarrow=True я получаю сообщение «Загрузка в FAILED» с ошибкой. При запуске загрузки нескольких частей для ключа в ведре : ошибка AWS ACCESS_DENIED во время операции CreateMultipartUpload: анонимные пользователи не могут инициировать многочастную загрузку. Пожалуйста, подтвердите подлинность.
Вот воспроизведение:

Код: Выделить всё

session = ... # boto3 session
credentials = session.get_credentials()
storage_options = {
"aws_access_key_id": credentials.access_key,
"aws_secret_access_key": credentials.secret_key,
"aws_session_token": credentials.token,
"aws_region": "eu-west-1",
}
destination = f"s3://{bucket}/{directory}"

data_frame.write_parquet(
destination,
partition_by=partitions,
storage_options=storage_options,
use_pyarrow = ... # True | False, different behavior
)
Интересно, ожидается ли это и/или я упускаю что-то очевидное


Подробнее здесь: https://stackoverflow.com/questions/797 ... local-copy

Вернуться в «Python»