polars.LazyFrame.sink_parquet#

LazyFrame.sink_parquet(
path: str | Path,
*,
compression: str = 'zstd',
compression_level: int | None = None,
statistics: bool | str | dict[str, bool] = True,
row_group_size: int | None = None,
data_page_size: int | None = None,
maintain_order: bool = True,
type_coercion: bool = True,
_type_check: bool = True,
predicate_pushdown: bool = True,
projection_pushdown: bool = True,
simplify_expression: bool = True,
slice_pushdown: bool = True,
collapse_joins: bool = True,
no_optimization: bool = False,
storage_options: dict[str, Any] | None = None,
credential_provider: CredentialProviderFunction | Literal['auto'] | None = 'auto',
retries: int = 2,
) None[source]#

在流模式下评估查询并将结果写入Parquet文件。

警告

流模式被认为是不稳定的。它可能会在任何时候更改,而不被视为破坏性更改。

这允许将大于RAM的流式结果写入磁盘。

Parameters:
path

文件应写入的文件路径。

compression{‘lz4’, ‘uncompressed’, ‘snappy’, ‘gzip’, ‘lzo’, ‘brotli’, ‘zstd’}

选择“zstd”以获得良好的压缩性能。 选择“lz4”以实现快速的压缩/解压缩。 选择“snappy”以在处理较旧的parquet读取器时获得更多的向后兼容性保证。

compression_level

使用的压缩级别。更高的压缩意味着磁盘上的文件更小。

  • “gzip” : 最小级别: 0, 最大级别: 10.

  • “brotli”:最小级别:0,最大级别:11。

  • “zstd” : 最小级别: 1, 最大级别: 22.

statistics

将统计信息写入parquet头部。这是默认行为。

可能的值:

  • True: 启用默认的统计集合(默认)

  • False: 禁用所有统计信息

  • “full”:计算并写入所有可用的统计信息。不能与use_pyarrow结合使用。

  • { "statistic-key": True / False, ... }. 不能与 use_pyarrow 结合使用。可用的键:

    • “min”: 列的最小值 (默认: True)

    • “max”: 列的最大值 (默认: True)

    • “distinct_count”: 唯一列值的数量(默认值:False

    • “null_count”: 列中空值的数量(默认值:True

row_group_size

行组的大小,以行数为单位。 如果为None(默认值),则使用DataFrame的块。 以较小的块写入可能会减少内存压力并提高写入速度。

data_page_size

单个数据页的大小限制。 如果未设置,默认为1024 * 1024字节

maintain_order

保持数据处理的顺序。 将此设置为False会稍微快一些。

type_coercion

进行类型强制优化。

predicate_pushdown

执行谓词下推优化。

projection_pushdown

执行投影下推优化。

simplify_expression

运行简化表达式优化。

slice_pushdown

切片下推优化。

collapse_joins

将连接和过滤器合并为更快的连接

no_optimization

关闭(某些)优化。

storage_options

指示如何连接到云提供商的选项。

目前支持的云提供商有AWS、GCP和Azure。 查看支持的密钥请点击这里:

  • aws

  • gcp

  • azure

  • Hugging Face (hf://): 接受在 token 参数下的 API 密钥:{'token': '...'},或者通过设置 HF_TOKEN 环境变量。

如果未提供storage_options,Polars将尝试从环境变量中推断信息。

credential_provider

提供一个可以被调用的函数来提供云存储凭证。该函数预期返回一个包含凭证键的字典以及一个可选的凭证过期时间。

警告

此功能被视为不稳定。它可能会在任何时候更改,而不被视为破坏性更改。

retries

如果访问云实例失败,重试次数。

Returns:
DataFrame

示例

>>> lf = pl.scan_csv("/path/to/my_larger_than_ram_file.csv")  
>>> lf.sink_parquet("out.parquet")