使用 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 将因列数不匹配而失败。