更新时间:2025-09-17 GMT+08:00
分享

DataFrame create_table函数使用说明

create_table用于在DataArtsFabric创建一个表,函数签名如下:

def create_table(
    self,
    name: str,
    obj: Optional[Union[ir.Table, pd.DataFrame, pa.Table, pl.DataFrame, pl.LazyFrame]] = None,
    *,
    schema: Optional[ibis.Schema] = None,
    database: Optional[str] = None,
    temp: bool = False,
    external: bool = False,
    overwrite: bool = False,
    partition_by: Optional[ibis.Schema] = None,
    table_properties: Optional[dict] = None,
    store: Optional[str] = None,
    location: Optional[str] = None
)
表1 参数说明

参数名称

类型

是否必须

说明

name

str

要创建的表名。

obj

ir.Table|pd.DataFrame|pa.Table|pl.DataFrame|pl.LazyFrame

用于填充表格的数据;必须至少指定obj或schema之一(当前不支持在创建表的时候插入数据)。

schema

sch.SchemaLike

要创建的表的架构;必须至少指定obj或schema之一。

database

str

创建表的数据库的名称;如果未传递,则使用当前数据库。

temp

bool

是否创建为临时表。默认为False。

external

bool

是否创建为外表。默认为False。

overwrite

bool

如果为True,表已存在则替换表。默认为False(当前不支持覆盖表)。

partition_by

sch.SchemaLike

指定分区列,分区列中出现的列不能出现在表的普通列描述中。

table_properties

dict

表级别可选参数设置,支持参数范围如下参考表1

store

str

表存储格式,支持ORC、PARQUET、HUDI、ICEBERG四种存储格式。

location

str

表存储路径,必须为合法OBS路径,支持OBS对象桶和并行文件系统。

  • 如果该路径为OBS对象桶路径,则该表只读,否则该表支持读写。
  • 如果创建表类型为托管表(Managed Table),则不允许指定表存储路径,表存储路径由系统指定为Schema路径下与表名同名路径,且要求该路径在建表时为空。

相关文档