希望大家都过得好。
在为这个问题浏览spark csv datasource options时,我对各种可用的报价相关选项之间的差异感到非常困惑。
1.他们之间有什么具体的区别吗?
1.是否有选项优先于其他选项,或者它们都一起工作?
使用了链接问题中提到的例子来理解差异,但仍然有点困惑。谢谢你的所有帮助。
希望大家都过得好。
在为这个问题浏览spark csv datasource options时,我对各种可用的报价相关选项之间的差异感到非常困惑。
1.他们之间有什么具体的区别吗?
1.是否有选项优先于其他选项,或者它们都一起工作?
使用了链接问题中提到的例子来理解差异,但仍然有点困惑。谢谢你的所有帮助。
1条答案
按热度按时间n6lpvg4x1#
让我们看几个例子。
当你的值中有逗号时,如果逗号与字段分隔符(如
2,b,c
)无法区分,Spark可以用引号将这些值括起来。默认情况下是双引号(如2,"b,c"
),但你可以使用quote选项自定义它。我们在这里使用了美元符号,不仅引用了
b,c
,而且由于d$e
包含一个美元,所以也引用了它,而美元本身被省略了。我不知道你为什么要这样做,但是你可以要求Spark不要使用escapeQuotes选项来转义包含引号字符的字段。
在这里,
d$e
没有被引用。您还可以使用quoteAll强制它引用每个字段。
请注意,quoteAll = true 使 escapeQuotes 变得无关紧要。
如果不喜欢默认的反斜杠,可以使用escape为引号内的引号字符自定义转义符。
最后,请注意,
f%g
中有一个独立的转义字符,因此如果您希望对其进行转义,请使用charToEscapeQuoteEscaping。不,你不可能再深入一点,然后逃脱...