polars.LazyFrame.sink_ipc
-
Выполняет запрос в потоковом режиме и записывает результат в файл IPC.
Это позволяет записывать на диск потоковые результаты, размер которых превышает объём оперативной памяти.
- Параметры:
-
- path
-
Путь к файлу, в который следует выполнить запись.
-
compression{‘uncompressed’, ‘lz4’, ‘zstd’} -
Выберите «zstd» для хорошего сжатия. Выберите «lz4» для быстрого сжатия и распаковки.
- compat_level
-
Уровень совместимости, используемый при экспорте структур данных Polars. Для большинства пользователей рекомендуется уровень совместимости по умолчанию. Используйте
pl.CompatLevel.oldest()для максимального уровня совместимости.pl.CompatLevel.newest()использует наивысший поддерживаемый уровень совместимости, но считается нестабильным и может измениться без того, чтобы это считалось несовместимым изменением. - record_batch_size
-
Размер пакетов записей, выраженный в количестве строк.
Предупреждение
Эта функциональность считается нестабильной. Она может быть изменена в любой момент без того, чтобы это считалось несовместимым изменением.
- maintain_order
-
Сохранять порядок обработки данных. Если установить значение
False, выполнение будет немного быстрее.Предупреждение
Эта функциональность считается нестабильной. Она может быть изменена в любой момент без того, чтобы это считалось несовместимым изменением.
- storage_options
-
Параметры, определяющие способ подключения к облачному провайдеру.
В настоящее время поддерживаются облачные провайдеры AWS, GCP и Azure. Список поддерживаемых ключей приведён здесь:
- aws
- gcp
- azure
- Hugging Face (
hf://): принимает API-ключ в параметреtoken:{'token': '...'}или через переменную окруженияHF_TOKEN.
Если
storage_optionsне указан, Polars попытается определить необходимые сведения по переменным окружения. - credential_provider
-
Функция, вызываемая для получения учётных данных облачного хранилища. Функция должна возвращать словарь ключей учётных данных и необязательное время истечения их срока действия.
Предупреждение
Эта функциональность считается нестабильной. Она может быть изменена в любой момент без того, чтобы это считалось несовместимым изменением.
- retries
-
Количество повторных попыток при сбое доступа к облачному экземпляру.
Устарело с версии 1.37.1: Вместо этого передайте {“max_retries”: n} через
storage_options. - sync_on_close: { None, ‘data’, ‘all’ }
-
Синхронизировать данные с диском перед закрытием файла.
-
Noneне выполняет синхронизацию. -
dataсинхронизирует содержимое файла. -
allсинхронизирует содержимое файла и метаданные.
Предупреждение
Эта функциональность считается нестабильной. Она может быть изменена в любой момент без того, чтобы это считалось несовместимым изменением.
-
- mkdir: bool
-
Рекурсивно создать все каталоги в указанном пути.
Предупреждение
Эта функциональность считается нестабильной. Она может быть изменена в любой момент без того, чтобы это считалось несовместимым изменением.
- lazy: bool
-
Отложить начало выполнения до вызова
collect.Предупреждение
Эта функциональность считается нестабильной. Она может быть изменена в любой момент без того, чтобы это считалось несовместимым изменением.
- engine
-
Выбрать движок для обработки запроса (по умолчанию
"auto"). Также можно передать экземплярEngine. Поддерживаются следующие имена движков:-
"auto": использовать движок, заданный с помощьюConfig.set_engine_affinityили переменной окруженияPOLARS_ENGINE_AFFINITY; если они не заданы, использовать"streaming". -
"in-memory": использовать перед записью движок обработки в памяти; это движок по умолчанию. -
"streaming": использовать потоковый движок, который обрабатывает запросы пакетами, снижая нагрузку на память и часто превосходя по производительности движок обработки в памяти. Вскоре он станет движком Polars по умолчанию. -
"gpu": в настоящее время не поддерживается для этой операции записи.
Если выбранный движок не может выполнить запрос, Polars переключается на потоковый движок.
Примечание
В настоящее время движок GPU не поддерживается.
-
- optimizations
-
Оптимизационные проходы, выполняемые при оптимизации запроса.
Не влияет на результат, если
lazyустановлено вTrue.Предупреждение
Эта функциональность считается нестабильной. Она может быть изменена в любой момент без того, чтобы это считалось несовместимым изменением.
- sinked_paths_callback
-
Функция обратного вызова, которой передаются сведения о путях, куда записаны данные.
Предупреждение
Эта функциональность считается нестабильной. Она может быть изменена в любой момент без того, чтобы это считалось несовместимым изменением.
- Возвращает:
-
- DataFrame
См. также
Примеры
>>> lf = pl.scan_csv("/path/to/my_larger_than_ram_file.csv") >>> lf.sink_ipc("out.arrow")Запись в объект
BytesIO.>>> import io >>> buf = io.BytesIO() >>> pl.LazyFrame({"x": [1, 2, 1]}).sink_ipc(buf)Разбиение на разделы в стиле Hive:
>>> pl.LazyFrame({"x": [1, 2, 1], "y": [3, 4, 5]}).sink_ipc( ... pl.PartitionBy("./out/", key="x"), ... mkdir=True ... )
LazyFrame.sink_ipc(
path: str | Path | IO[bytes] | PartitionBy,
*,
compression: IpcCompression | None = 'uncompressed',
compat_level: CompatLevel | None = None,
record_batch_size: int | None = None,
maintain_order: bool = True,
storage_options: StorageOptionsDict | None = None,
credential_provider: CredentialProviderFunction | Literal['auto'] | None = 'auto',
retries: int | None = None,
sync_on_close: SyncOnCloseMethod | None = None,
mkdir: bool = False,
lazy: bool = False,
engine: EngineType = 'auto',
optimizations: QueryOptFlags = (,
), _record_batch_statistics: bool = False, sinked_paths_callback: SinkedPathsCallback | None = None, ) → LazyFrame | None
© 2020 Ritchie Vink
© 2022 Polars contributors
Licensed under the MIT License.
https://docs.pola.rs/api/python/stable/reference/api/polars.LazyFrame.sink_ipc.html