spark.read.option参数

参数解释
sep默认是, 指定单个字符分割字段和值
encoding默认是uft-8通过给定的编码类型进行解码
quote默认是“,其中分隔符可以是值的一部分,设置用于转义带引号的值的单个字符。如果您想关闭引号,则需要设置一个空字符串,而不是null。
escape默认(\)设置单个字符用于在引号里面转义引号
charToEscapeQuoteEscaping默认是转义字符(上面的escape)或者\0,当转义字符和引号(quote)字符不同的时候,默认是转义字符(escape),否则为\0
comment默认是空值,设置用于跳过行的单个字符,以该字符开头。默认情况下,它是禁用的
header默认是false,将第一行作为列名
enforceSchema

默认是true, 如果将其设置为true,则指定或推断的模式将强制应用于数据源文件,而CSV文件中的标头将被忽略。

如果选项设置为false,则在header选项设置为true的情况下,将针对CSV文件中的所有标题验证模式。

模式中的字段名称和CSV标头中的列名称是根据它们的位置检查的,并考虑了*spark.sql.caseSensitive。

虽然默认值为true,但是建议禁用 enforceSchema选项,以避免产生错误的结果

inferSchemainferSchema(默认为false`):从数据自动推断输入模式。 *需要对数据进行一次额外的传递
samplingRatio默认为1.0,定义用于模式推断的行的分数
ignoreLeadingWhiteSpace默认为false,一个标志,指示是否应跳过正在读取的值中的前导空格
ignoreTrailingWhiteSpace默认为false一个标志,指示是否应跳过正在读取的值的结尾空格
nullValue默认是空的字符串,设置null值的字符串表示形式。从2.0.1开始,这适用于所有支持的类型,包括字符串类型
emptyValue默认是空字符串,设置一个空值的字符串表示形式
nanValue默认是Nan,设置非数字的字符串表示形式
positiveInf默认是Inf
negativeInf默认是-Inf 设置负无穷值的字符串表示形式
dateFormat

默认是yyyy-MM-dd,设置指示日期格式的字符串。

自定义日期格式遵循java.text.SimpleDateFormat中的格式。这适用于日期类型

timestampFormat

默认是yyyy-MM-dd'T'HH:mm:ss.SSSXXX,设置表示时间戳格式的字符串。

自定义日期格式遵循java.text.SimpleDateFormat中的格式。这适用于时间戳记类型

maxColumns默认是20480定义多少列数目的硬性设置
maxCharsPerColumn默认是-1定义读取的任何给定值允许的最大字符数。默认情况下为-1,表示长度不受限制
mode

默认(允许)允许一种在解析过程中处理损坏记录的模式。它支持以下不区分大小写的模式。

请注意,Spark尝试在列修剪下仅解析CSV中必需的列。因此,损坏的记录可以根据所需的字段集而有所不同。

可以通过spark.sql.csv.parser.columnPruning.enabled(默认启用)来控制此行为。

mode下面的参数:---------------------------------------------------
PERMISSIVE

当它遇到损坏的记录时,将格式错误的字符串放入由“ columnNameOfCorruptRecord”配置的*字段中,并将其他字段设置为“ null”。

为了保留损坏的记录,用户可以在用户定义的模式中设置一个名为columnNameOfCorruptRecord

DROPMALFORMED忽略整个损坏的记录
FAILFAST遇到损坏的记录时引发异常
-----mode参数结束-----------------------------------------------------------
columnNameOfCorruptRecord默认值指定在spark.sql.columnNameOfCorruptRecord,允许重命名由PERMISSIVE模式创建的格式错误的新字段。这会覆盖spark.sql.columnNameOfCorruptRecord
multiLine默认是false,解析一条记录,该记录可能超过62个columns
  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值