当我阅读其他人的python代码时,例如,spark.read.option("mergeSchema", "true")
,看来编码器已经知道要使用什么参数了。但是对于初学者来说,有没有地方可以查找这些可用参数?我查找 apche 文档,它显示参数未记录。
谢谢。
令人讨厌的是,option
的文档方法在 json
的文档中方法。该方法的文档说选项如下(键 - 值 - 描述):
primitivesAsString -- true/false (default false) -- 将所有原始值推断为字符串类型
prefersDecimal -- true/false (默认 false) -- 将所有浮点值推断为十进制类型。如果这些值不适合十进制,那么它会将它们推断为 double 值。
allowComments -- true/false (默认 false) -- 忽略 JSON 记录中的 Java/C++ 样式注释
allowUnquotedFieldNames -- true/false (default false) -- 允许不带引号的 JSON 字段名称
allowSingleQuotes -- true/false (default true) -- 除了双引号外还允许单引号
allowNumericLeadingZeros -- true/false (default false) -- 允许数字前导零(例如 00012)
allowBackslashEscapingAnyCharacter -- true/false (default false) -- 允许使用反斜杠引用机制接受所有字符的引用
allowUnquotedControlChars -- true/false (默认 false) -- 允许 JSON 字符串包含或不包含未引用的控制字符(值小于 32 的 ASCII 字符,包括制表符和换行符)。
mode -- PERMISSIVE/DROPMALFORMED/FAILFAST (默认 PERMISSIVE) -- 允许在解析过程中处理损坏记录的模式。
PERMISSIVE :当遇到损坏的记录时,将格式错误的记录放入
字符串到由 columnNameOfCorruptRecord 配置的字段中,并设置
其他字段为空。为了保留损坏的记录,用户可以设置一个
用户定义的名为 columnNameOfCorruptRecord 的字符串类型字段
架构。如果模式没有该字段,则会丢弃损坏的记录
在解析过程中。在推断模式时,它隐式地添加了一个
输出模式中的 columnNameOfCorruptRecord 字段。 DROPMALFORMED :忽略整个损坏的记录。 FAILFAST :遇到损坏的记录时抛出异常。