Azure 数据仓库 PolyBase 文件格式

Azure Data Warehouse PolyBase File format

我们有一个如下所示的文件:

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

因此具有以下'properties':

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

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

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

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

改为以十六进制指定。

STRING_DELIMITER = '0x22'

(根据https://msdn.microsoft.com/en-au/library/dn935026.aspx结尾有人描述的问题)

通过添加一个中间步骤将文件从 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