polars.read_delta#
- polars.read_delta(
- source: str | DeltaTable,
- *,
- version: int | str | datetime | None = None,
- columns: list[str] | None = None,
- rechunk: bool | None = None,
- storage_options: dict[str, Any] | None = None,
- delta_table_options: dict[str, Any] | None = None,
- use_pyarrow: bool = False,
- pyarrow_options: dict[str, Any] | None = None,
从Delta湖表中读取数据到DataFrame。
- Parameters:
- source
DeltaTable 或指向 Delta 湖表根目录的路径或 URI。
注意:对于本地文件系统,支持绝对路径和相对路径,但对于支持的对象存储 - GCS、Azure 和 S3,必须提供完整的 URI。
- version
Delta 湖表的数值版本或时间戳版本。
注意:如果未提供
version,则读取delta lake表的最新版本。- columns
要选择的列。接受列名列表。
- rechunk
确保所有列在内存中是连续的,通过将块聚合成一个单一数组。
- storage_options
为
deltalake支持的存储后端提供的额外选项。 对于云存储,这可能包括认证等的配置。更多信息可在此处获取 here.
- delta_table_options
读取Delta湖表时的其他关键字参数。
- use_pyarrow
启用pyarrow数据集读取的标志。
- pyarrow_options
将Delta湖表转换为pyarrow表时的关键字参数。
- Returns:
- DataFrame
示例
从本地文件系统读取Delta表。 注意:由于未提供版本,因此读取的是Delta表的最新版本。
>>> table_path = "/path/to/delta-table/" >>> pl.read_delta(table_path)
从本地文件系统读取特定版本的Delta表。 注意:如果提供的Delta表版本不存在,此操作将失败。
>>> pl.read_delta(table_path, version=1)
使用时间戳版本从本地文件系统进行delta表的时间旅行。
>>> pl.read_delta( ... table_path, version=datetime(2020, 1, 1, tzinfo=timezone.utc) ... )
从AWS S3读取一个Delta表。 查看S3支持的存储选项列表这里。
>>> table_path = "s3://bucket/path/to/delta-table/" >>> storage_options = { ... "AWS_ACCESS_KEY_ID": "THE_AWS_ACCESS_KEY_ID", ... "AWS_SECRET_ACCESS_KEY": "THE_AWS_SECRET_ACCESS_KEY", ... } >>> pl.read_delta(table_path, storage_options=storage_options)
从Google云存储(GCS)读取Delta表。 查看GCS支持的存储选项列表这里。
>>> table_path = "gs://bucket/path/to/delta-table/" >>> storage_options = {"SERVICE_ACCOUNT": "SERVICE_ACCOUNT_JSON_ABSOLUTE_PATH"} >>> pl.read_delta(table_path, storage_options=storage_options)
从Azure读取Delta表。
支持以下类型的表路径,
az:///
adl:///
abfs:///
查看Azure支持的存储选项列表这里。
>>> table_path = "az://container/path/to/delta-table/" >>> storage_options = { ... "AZURE_STORAGE_ACCOUNT_NAME": "AZURE_STORAGE_ACCOUNT_NAME", ... "AZURE_STORAGE_ACCOUNT_KEY": "AZURE_STORAGE_ACCOUNT_KEY", ... } >>> pl.read_delta(table_path, storage_options=storage_options)
读取一个Delta表,带有额外的Delta特定选项。在下面的例子中,
without_files选项被使用,该选项加载表时不包含文件跟踪信息。>>> table_path = "/path/to/delta-table/" >>> delta_table_options = {"without_files": True} >>> pl.read_delta( ... table_path, delta_table_options=delta_table_options ... )