当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pyspark DataFrame.to_delta用法及代码示例


本文简要介绍 pyspark.pandas.DataFrame.to_delta 的用法。

用法:

DataFrame.to_delta(path: str, mode: str = 'w', partition_cols: Union[str, List[str], None] = None, index_col: Union[str, List[str], None] = None, **options: OptionalPrimitiveType) → None

将 DataFrame 写为 Delta Lake 表。

参数

pathstr,必填

写入路径。

modestr

Python写模式,默认‘w’。

注意

mode 可以接受用于 Spark 写入模式的字符串。如‘append’, ‘overwrite’, ‘ignore’, ‘error’, ‘errorifexists’。

  • ‘append’(相当于‘a’):将新数据追加到现有数据。

  • ‘overwrite’(相当于‘w’):覆盖现有数据。

  • ‘ignore’:如果数据已存在,则静默忽略此操作。

  • ‘error’ 或 ‘errorifexists’:如果数据已存在,则抛出异常。

partition_colsstr 或 str 列表,可选,默认无

分区列的名称

index_col: str or list of str, optional, default: None

在 Spark 中用于表示 pandas-on-Spark 的索引的列名。 pandas-on-Spark 中的索引名称被忽略。默认情况下,索引总是丢失。

optionsdict

所有其他选项直接传递到 Delta Lake。

例子

>>> df = ps.DataFrame(dict(
...    date=list(pd.date_range('2012-1-1 12:00:00', periods=3, freq='M')),
...    country=['KR', 'US', 'JP'],
...    code=[1, 2 ,3]), columns=['date', 'country', 'code'])
>>> df
                 date country  code
0 2012-01-31 12:00:00      KR     1
1 2012-02-29 12:00:00      US     2
2 2012-03-31 12:00:00      JP     3

创建一个新的 Delta Lake 表,按一列分区:

>>> df.to_delta('%s/to_delta/foo' % path, partition_cols='date')

按两列划分:

>>> df.to_delta('%s/to_delta/bar' % path,
...             partition_cols=['date', 'country'])

使用 Delta 中的“replaceWhere”函数覆盖现有表的分区:

>>> df.to_delta('%s/to_delta/bar' % path,
...             mode='overwrite', replaceWhere='date >= "2012-01-01"')

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.pandas.DataFrame.to_delta。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。