他の人の Python コード ( など) を読むとspark.read.option("mergeSchema", "true")
、コード作成者は使用するパラメータをすでに知っているようです。しかし、初心者にとって、それらの使用可能なパラメータを調べる場所はありますか? apche ドキュメントを調べると、パラメータが文書化されていないことがわかります。
ありがとう。
ベストアンサー1
残念なことに、このメソッドのドキュメントは、メソッドoption
のドキュメント内にありますjson
。このメソッドのドキュメントには、オプションは次のとおりであると記載されています (キー -- 値 -- 説明):
primitivesAsString -- true/false (デフォルトは false) -- すべてのプリミティブ値を文字列型として推論します
prefersDecimal -- true/false (デフォルトは false) -- すべての浮動小数点値を 10 進数型として推論します。値が 10 進数に収まらない場合は、double として推論します。
allowComments -- true/false (デフォルトは false) -- JSON レコード内の Java/C++ スタイルのコメントを無視します
allowUnquotedFieldNames -- true/false (デフォルトは false) -- 引用符で囲まれていない JSON フィールド名を許可します
allowSingleQuotes -- true/false (デフォルトは true) -- 二重引用符に加えて一重引用符も許可します
allowNumericLeadingZeros -- true/false (デフォルトは false) -- 数字の先頭にゼロを許可します (例: 00012)
allowBackslashEscapingAnyCharacter -- true/false (デフォルトは false) -- バックスラッシュ引用メカニズムを使用してすべての文字の引用を受け入れることを許可する
allowUnquotedControlChars -- true/false (デフォルトは false) -- JSON 文字列に引用符で囲まれていない制御文字 (タブ文字や改行文字を含む、値が 32 未満の ASCII 文字) を含めるかどうかを指定します。
モード -- PERMISSIVE/DROPMALFORMED/FAILFAST (デフォルト PERMISSIVE) -- 解析中に破損したレコードを処理するためのモードを許可します。
- PERMISSIVE: 破損したレコードに遭遇すると、不正な形式の文字列を columnNameOfCorruptRecord で構成されたフィールドに格納し、他のフィールドを null に設定します。破損したレコードを保持するために、ユーザーはユーザー定義のスキーマに columnNameOfCorruptRecord という名前の文字列型フィールドを設定できます。スキーマにフィールドがない場合、解析中に破損したレコードが削除されます。スキーマを推論するときに、出力スキーマに columnNameOfCorruptRecord フィールドが暗黙的に追加されます。
- DROPMALFORMED: 破損したレコード全体を無視します。
- FAILFAST: 破損したレコードに遭遇すると例外をスローします。