使用 STRING_DELIMITER 转义 Polybase 中的引号
Escaping quotes in Polybase with STRING_DELIMITER
我有一个竖线分隔的平面文件,我想用 Polybase 加载它。字符串列用双引号引起来,如果值中有双引号,它们会加倍。我认为这是一种有效的文件格式:
SizeDescription|SizeCode
"3.5 feet"|"3.5 ft"
"2.5 inches"|"2.5"""
如果我没有指定 STRING_DELIMITER,那么引号会出现在我要插入的 table 中。如果我确实指定 STRING_DELIMITER='"' 那么它在第一行(3.5 英尺)上正常工作但在第二行(2.5")上失败。
我是不是做错了什么?还是不支持?
行为正确。如果您没有将引号 (") 指定为 STRING_DELIMITER,解析器将按照您的预期在管道上拆分。如果您将引号 (") 指定为 STRING_DELIMITER,您最终会得到 3第一行的列数:
{3.5 英尺} {|} {3.5 英尺}
第二行有 4 列:
{2.5 英寸} {|} {2.5} {}
Polybase 将因列数不匹配而失败。
我有一个竖线分隔的平面文件,我想用 Polybase 加载它。字符串列用双引号引起来,如果值中有双引号,它们会加倍。我认为这是一种有效的文件格式:
SizeDescription|SizeCode
"3.5 feet"|"3.5 ft"
"2.5 inches"|"2.5"""
如果我没有指定 STRING_DELIMITER,那么引号会出现在我要插入的 table 中。如果我确实指定 STRING_DELIMITER='"' 那么它在第一行(3.5 英尺)上正常工作但在第二行(2.5")上失败。
我是不是做错了什么?还是不支持?
行为正确。如果您没有将引号 (") 指定为 STRING_DELIMITER,解析器将按照您的预期在管道上拆分。如果您将引号 (") 指定为 STRING_DELIMITER,您最终会得到 3第一行的列数:
{3.5 英尺} {|} {3.5 英尺}
第二行有 4 列:
{2.5 英寸} {|} {2.5} {}
Polybase 将因列数不匹配而失败。