4

我们有一个看起来像这样的文件:

Col1,Col2,Col3,Col4,Col5
"Hello,",I,",am",some,data!

因此,它具有以下“属性”:

  • 逗号分隔
  • 双引号列分隔符
  • 某些列中的逗号

现在,我不确定是否真的可以使用 PolyBase 摄取它,但想知道是否有办法?

我们目前看到的错误是“ Could not find a delimiter after quote”..我猜这是因为在双引号之后它达到了预期的分隔符..

为了完整起见,这是我们当前的文件格式:

CREATE EXTERNAL FILE FORMAT Comma
WITH (FORMAT_TYPE = DELIMITEDTEXT,
      FORMAT_OPTIONS(
          FIELD_TERMINATOR = ',',
          STRING_DELIMITER = '"',
    )
)
4

2 回答 2

1

改为以十六进制指定。

STRING_DELIMITER = '0x22'

(基于有人在https://msdn.microsoft.com/en-au/library/dn935026.aspx末尾描述的问题)

于 2016-07-25T22:02:20.120 回答
1

最后通过添加一个将文件从 csv 转换为 ORC 格式的中间步骤来解决这个问题。

它有点笨重(因为它留下了一堆乱七八糟的副本),但是 PolyBase 确实可以使用文件格式:

CREATE EXTERNAL FILE FORMAT Orc
WITH (FORMAT_TYPE = ORC)

目前有效,直到产品团队解决它:https ://feedback.azure.com/forums/307516-sql-data-warehouse/suggestions/10600132-polybase-allow-field-row-terminators-within-strin

于 2016-08-03T13:16:25.017 回答