当我阅读其他人的Python代码时,
spark.read.option("mergeSchema", "true")
,似乎编码员已经知道要使用哪些参数。但对于初学者来说,有没有地方可以查找这些可用参数?我查找了 apche 文档,它显示参数未记录。
谢谢。
令人烦恼的是,
option
方法的文档位于json
方法的文档中。该方法的文档说选项如下(键 - 值 - 描述):
primitivesAsString -- true/false (默认 false) -- 将所有原始值推断为字符串类型
prefersDecimal -- true/false (默认 false) -- 将所有浮点值推断为十进制类型。如果这些值不适合十进制,则会将它们推断为双精度数。
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)——允许在解析期间处理损坏记录的模式。
对于内置格式,官方文档中列出了所有选项。每种格式都有自己的一组选项,因此您必须参考您使用的选项。
对于
read
打开 DataFrameReader
的文档并展开各个方法的文档。假设对于 JSON 格式,展开 json
方法(只有一个变体包含完整的选项列表)
DataFrameWriter
编写开放文档。以镶木地板为例:
但是,合并模式不是通过选项执行的,而是使用会话属性执行的
spark.conf.set("spark.sql.parquet.mergeSchema", "true")
你可以从这里到达
https://spark.apache.org/docs/2.0.2/api/java/org/apache/spark/sql/DataFrameReader.html
更改突出显示的部分以获得您正在寻找的版本。
您可以在这里找到它们。查找“数据源选项”部分。
https://spark.apache.org/docs/latest/sql-data-sources-parquet.html#data-source-option
每种文件类型都有支持文档。