【问题标题】:Azure Data Warehouse PolyBase File formatAzure 数据仓库 PolyBase 文件格式
【发布时间】:2016-11-28 14:36:36
【问题描述】:

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

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 = '"',
    )
)

【问题讨论】:

    标签: azure-sqldw parallel-data-warehouse


    【解决方案1】:

    改为以十六进制指定。

    STRING_DELIMITER = '0x22'
    

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

    【讨论】:

    • 部分正确,但我还是有问题,所以最后选择了 ORC 格式,ty!
    【解决方案2】:

    最后通过添加一个将文件从 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

    【讨论】:

      猜你喜欢
      • 2019-10-28
      • 2021-05-06
      • 2019-08-28
      • 2020-07-25
      • 2015-09-12
      • 2016-06-30
      • 2021-01-02
      • 2017-01-04
      • 2016-10-26
      相关资源
      最近更新 更多