【问题标题】:Use unicode field terminator in polybase在 polybase 中使用 unicode 字段终止符
【发布时间】:2017-12-17 14:17:20
【问题描述】:

在为存储在 Azure blob 存储中的外部数据创建 PolyBase 外部文件格式定义时,我正在努力将字段终止符指定为 unicode 字符。 我想指定 unicode 字符的原因是,当我使用 Azure 数据工厂在 azure blob 中加载数据时,复制活动不支持将多个字符指定为列分隔符,除非它是一个 unicode 字符,如 \u0081

【问题讨论】:

  • 您能否提供一些示例数据,以便我们查看您的实际分隔符?如果您使用常规分隔符,例如:逗号、制表符、竖线等,您会让自己的生活更轻松
  • 您好 wBob,感谢您的回复。我不能使用传统的单字符分隔符的原因是因为数据有很多文本字段,而且我尝试的每个组合都以某种方式弄乱了数据,即数据值将有管道字符、制表符、换行符、逗号、半逗号。

标签: azure polybase


【解决方案1】:

查看文档here,它表明自定义分隔符是可能的,但使用它们的十六进制代码:

STRING_DELIMITER = '0x22' -- Double quote hex
STRING_DELIMITER = '0x7E0x7E' -- Two tildas (e.g. ~~)

对于您的示例,您可以尝试(未经测试):

STRING_DELIMITER = '0x81' -- Control character \u0081

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-01
    • 2012-06-27
    • 1970-01-01
    • 2013-01-17
    • 2017-09-10
    • 1970-01-01
    • 2020-01-06
    相关资源
    最近更新 更多