当我阅读其他人的python代码(例如spark.read.option("mergeSchema", "true")
)时,似乎编码人员已经知道要使用什么参数。但是对于初学者来说,是否有地方可以查找这些可用参数?我查找apche文档,并显示未记录的参数。
谢谢。
答案 0 :(得分:1)
对于内置格式,所有选项均在官方文档中列出。每种格式都有其自己的一组选项,因此您必须参考所使用的格式。
对于read
,请打开DataFrameReader
的文档,并展开各个方法的文档。假设对于JSON格式,展开json
方法(只有一个变体包含选项的完整列表)
用于编写DataFrameWriter
的开放文档。例如镶木地板:
但是合并模式不是通过选项而是通过会话属性执行的
spark.conf.set("spark.sql.parquet.mergeSchema", "true")
答案 1 :(得分:0)
您可以从这里获得
https://spark.apache.org/docs/ 2.0.2 /api/java/org/apache/spark/sql/DataFrameReader.html
更改突出显示的部分以获取所需的版本。
答案 2 :(得分:0)
令人讨厌的是,option
方法的文档在json
方法的文档中。该方法的文档说,这些选项如下(键-值-说明):
primitivesAsString-true / false(默认为false)-将所有原始值推断为字符串类型
prefersDecimal-true / false(默认为false)-将所有浮点值推断为十进制类型。如果这些值不适合小数,则将其推断为双精度。
allowComments-正确/错误(默认为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)-允许在解析期间处理损坏记录的模式。
答案 3 :(得分:0)
您将在类 csv
的方法 org.apache.spark.sql.DataFrameReader
的 Spark API Documentation 中找到更多选项。如上所示,选项取决于要读取的输入格式。