maxframe.dataframe.DataFrame.to_odps_table#

DataFrame.to_odps_table(table: Table | str, partition: str | None = None, partition_col: None | str | List[str] = None, overwrite: bool = False, unknown_as_string: bool | None = True, index: bool = True, index_label: None | str | List[str] = None, lifecycle: int | None = None, table_properties: dict | None = None, primary_key: None | str | List[str] = None, odps_types: Dict[str, str] | None = None)#

将 DataFrame 对象写入 MaxCompute (ODPS) 表。

您需要提供要写入的表名。如果要将数据存储到表的特定分区中,可以使用参数 partition。您还可以使用 partition_col 将 DataFrame 列指定为分区列,DataFrame 中的数据将按这些列分组,并根据这些列的值插入到分区中。

如果表不存在,to_odps_table 将创建一个。

索引的列名由 index_label 参数确定。如果该参数缺失,则在级别名称不为 None 时使用级别名称,否则使用默认名称。对于只有一个级别的索引,默认名称为 index,对于具有多个级别的索引,名称将为 level_x,其中 x 是级别的索引。

参数:
  • table (str) -- 要将 DataFrame 写入的表名

  • partition (Optional[str]) -- 要写入的分区规范,可以是 'pt1=xxx,pt2=yyy'

  • partition_col (Union[None, str, List[str]]) -- DataFrame 中作为分区列的列名。

  • overwrite (bool) -- 如果表/分区已存在,则覆盖数据。

  • unknown_as_string (bool) -- 如果为 True,则 DataFrame 中的对象类型将被视为字符串。否则可能会引发错误。

  • index (bool) -- 如果为 True,则将存储索引。否则将忽略索引。

  • index_label (Union[None, str, List[str]]) -- 指定索引级别的列名。如果缺失,则使用级别名称或默认名称。

  • lifecycle (Optional[int]) -- 指定输出表的生命周期。

  • table_properties (Optional[dict]) -- 指定输出表的属性。

  • primary_key (Union[None, str, List[str]]) -- 如果提供了此参数且目标表不存在,则目标表将是一个增量表,此参数中指定的列作为主键。

返回:

result -- 用于执行的空 DataFrame。

返回类型:

DataFrame

备注

to_odps_table 返回一个用于执行的空对象。返回的结果不可重用。

示例