option (DataFrameWriter)

基になるデータ ソースの出力オプションを追加します。 使用可能なオプションについては、「 オプション」を参照してください。

構文

option(key, value)

パラメーター

パラメーター タイプ 説明
key str オプション キー。
value str、int、float、または bool オプション値。

オプション

次の表に、ライター オプションをいくつか示します。

フォーマット 説明
arrayElementName XML 明示的な名前を持たない配列要素の要素名。 既定値: itemxml (DataFrameWriter) に適用されます。
attributePrefix XML XML 属性に対応するフィールド名の前に付加されるプレフィックス。 既定値: _xml (DataFrameWriter) に適用されます。
avroSchema Avro JSON 文字列としての完全な Avro スキーマ。 Spark SQL 型を特定の Avro 型に変換するには、このオプションを使用します。 Avro ファイルに適用されます。
charToEscapeQuoteEscaping CSV エスケープ文字が引用符文字と異なる場合にエスケープするために使用される文字。 既定値: \0 (無効)。 csv (DataFrameWriter) に適用されます。
clusterByAuto Delta Lake 自動液体クラスタリングを有効にするかどうか。Azure Databricksクエリ パターンに基づいてクラスタリング列が選択されます。 mode("overwrite")でのみ有効です。 append モードでは使用できません。 既定値: false。 Databricks Runtime 16.4 以降で使用できます。 [テーブルに液体クラスタリングを使用する] に適用されます。
compression CSV、JSON、ORC、Parquet、Text、XML 書き込み時に使用する圧縮コーデック。 有効な値は形式によって異なります。 csv (DataFrameWriter)json (DataFrameWriter)orc (DataFrameWriter)、parquet (DataFrameWriter)text (DataFrameWriter)xml (DataFrameWriter)に適用されます。
dateFormat CSV、JSON、XML 日付列の値の書式指定文字列。 既定値: yyyy-MM-ddcsv (DataFrameWriter)json (DataFrameWriter)xml (DataFrameWriter)に適用されます。
declaration XML 各出力ファイルの先頭に書き込まれた XML 宣言文字列。 宣言を抑制する空の文字列に設定します。 既定値: version="1.0" encoding="UTF-8" standalone="yes"xml (DataFrameWriter) に適用されます。
emptyValue CSV 空の (null 以外の) 値に対して書き込まれた文字列。 既定値: ""csv (DataFrameWriter) に適用されます。
encoding CSV、JSON、XML 出力ファイルの文字エンコード。 既定値: UTF-8csv (DataFrameWriter)json (DataFrameWriter)xml (DataFrameWriter)に適用されます。
escape CSV 引用符で囲まれた値をエスケープするために使用される文字。 既定値: \csv (DataFrameWriter) に適用されます。
escapeQuotes CSV 引用符で囲まれたフィールド値内の引用符文字をエスケープするかどうか。 既定値: truecsv (DataFrameWriter) に適用されます。
header CSV 出力の最初の行として列名を書き込むかどうか。 既定値: falsecsv (DataFrameWriter) に適用されます。
ignoreLeadingWhiteSpace CSV 書き込み時に先頭の空白を値からトリミングするかどうか。 既定値: falsecsv (DataFrameWriter) に適用されます。
ignoreNullFields JSON JSON 出力から null 値を持つフィールドを省略するかどうか。 既定値: spark.sql.jsonGenerator.ignoreNullFieldsの値。 json (DataFrameWriter) に適用されます。
ignoreTrailingWhiteSpace CSV 書き込み時に値から末尾の空白をトリミングするかどうかを指定します。 既定値: falsecsv (DataFrameWriter) に適用されます。
lineSep CSV、JSON、テキスト レコード間で使用される行区切り文字列。 既定値: \ncsv (DataFrameWriter)json (DataFrameWriter)text (DataFrameWriter) に適用されます。
mergeSchema Delta Lake 書き込み操作でスキーマの進化を有効にするかどうかを指定します。 ソース DataFrame の新しい列がターゲット テーブル スキーマに追加されます。 バッチおよびストリーミングの追加に適用されます。 テーブル スキーマの更新に適用されます。
nullValue CSV null 値に対して書き込まれた文字列。 既定値: ""csv (DataFrameWriter) に適用されます。
nullValue XML null 値に対して書き込まれた文字列。 既定値: nullnullに設定すると、null フィールドの属性と子要素は省略されます。 xml (DataFrameWriter) に適用されます。
overwriteSchema Delta Lake 上書き時にテーブル スキーマとパーティション分割を置き換えるかどうか。 replaceWhereなしでmode("overwrite")が必要です。 partitionOverwriteModeでは使用できません。 テーブル スキーマの更新に適用されます。
partitionOverwriteMode Delta Lake パーティション上書きモード。 これを dynamic に設定すると、新しいデータを含むパーティションのみが上書きされ、他のすべてのパーティションは変更されません。 レガシ モード。は、サーバーレス コンピューティングまたは Databricks SQL ではサポートされていません。 Delta Lake を使用して データを選択的に上書きする場合に適用されます。
quote CSV 区切り記号を含むフィールド値を引用符で囲む文字。 既定値: "csv (DataFrameWriter) に適用されます。
quoteAll CSV 内容に関係なく、すべてのフィールド値を引用符で囲むかどうか。 既定値: falsecsv (DataFrameWriter) に適用されます。
recordName Avro 出力 Avro スキーマの最上位レベルのレコード名。 既定値: topLevelRecordAvro ファイルに適用されます。
recordNamespace Avro 出力 Avro スキーマの最上位レコードの名前空間。 既定値: ""Avro ファイルに適用されます。
replaceWhere Delta Lake 述語式。 述語に一致するレコードのみをアトミックに上書きします。 Delta Lake を使用して データを選択的に上書きする場合に適用されます。
rootTag XML 出力内のすべての行要素をラップするルート要素タグ。 既定値: ROWSxml (DataFrameWriter) に適用されます。
rowTag XML 出力内の行を表す要素タグ。 既定値: ROWxml (DataFrameWriter) に適用されます。
sep CSV フィールド区切り文字。 既定値: ,csv (DataFrameWriter) に適用されます。
timestampFormat CSV、JSON、XML タイムスタンプ列の値の書式指定文字列。 既定値: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]csv (DataFrameWriter)json (DataFrameWriter)xml (DataFrameWriter)に適用されます。
txnAppId Delta Lake foreachBatch操作でのべき等書き込みのアプリケーションを識別する一意の文字列。 複数の Delta Lake テーブルへの正確な 1 回の書き込みを保証するには、 txnVersion と共に使用します。 べき等テーブル書き込みにforeachBatchを使用するために適用されます。
txnVersion Delta Lake foreachBatch操作でのべき等書き込みのトランザクション バージョンとして使用される単調に増加する数。 複数の Delta Lake テーブルへの正確な 1 回の書き込みを保証するには、 txnAppId と共に使用します。 べき等テーブル書き込みにforeachBatchを使用するために適用されます。
userMetadata Delta Lake、Apache Iceberg 書き込み操作のコミット メタデータに追加されたユーザー定義文字列。 DESCRIBE HISTORYの出力に表示されます。 カスタム メタデータを使用したテーブルのエンリッチに適用されます。
validateName XML 列名が有効な XML 要素識別子でない場合に例外をスローするかどうか。 既定値: truexml (DataFrameWriter) に適用されます。
valueTag XML 属性または子要素を持つ XML 要素の文字データに使用されるフィールド名。 既定値: _VALUExml (DataFrameWriter) に適用されます。

返品

DataFrameWriter

例示

nullValue オプションが設定された CSV ファイルに DataFrame を書き込みます。

import tempfile
with tempfile.TemporaryDirectory(prefix="option") as d:
    df = spark.createDataFrame([(100, None)], "age INT, name STRING")
    df.write.option("nullValue", "Alice").mode("overwrite").format("csv").save(d)

    spark.read.schema(df.schema).format('csv').load(d).show()
    # +---+------------+
    # |age|        name|
    # +---+------------+
    # |100|Alice|
    # +---+------------+