當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。