spark.read.option()中的可用选项

时间:2018-09-24 05:11:19

标签: python-3.x apache-spark

当我阅读其他人的python代码(例如spark.read.option("mergeSchema", "true"))时,似乎编码人员已经知道要使用什么参数。但是对于初学者来说,是否有地方可以查找这些可用参数?我查找apche文档,并显示未记录的参数。

谢谢。

4 个答案:

答案 0 :(得分:1)

对于内置格式,所有选项均在官方文档中列出。每种格式都有其自己的一组选项,因此您必须参考所使用的​​格式。

但是合并模式不是通过选项而是通过会话属性执行的

 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)-允许在解析期间处理损坏记录的模式。

    • PERMISSIVE:遇到损坏的记录时,将格式错误的内容放入 字符串到由columnNameOfCorruptRecord配置的字段中,并设置 其他字段为null。要保留损坏的记录,用户可以设置 用户定义中名为columnNameOfCorruptRecord的字符串类型字段 模式。如果架构没有该字段,它将删除损坏的记录 在解析期间。推断架构时,它会隐式添加一个 输出架构中的columnNameOfCorruptRecord字段。
    • DROPMALFORMED:忽略整个损坏的记录。
    • FAILFAST:遇到损坏的记录时引发异常。

答案 3 :(得分:0)

您将在类 csv 的方法 org.apache.spark.sql.DataFrameReaderSpark API Documentation 中找到更多选项。如上所示,选项取决于要读取的输入格式。