带双引号的Azure Data Factory CSV

时间:2019-06-07 22:04:36

标签: azure azure-data-factory double-quotes azure-data-factory-2

我有一个管道,用于检索FTP托管的CSV文件。用双引号引起来的逗号分隔。存在一个问题,其中字符串用双引号引起来,但是字符串本身包含双引号。

字符串示例:"Spring Sale" this year.

它在csv中的外观(后跟两个空列):

"","""Spring Sale"" this year",""

SSIS处理得很好,但是Data Factory希望将其转换为一个不由逗号分隔的额外列。我删除了此行上的多余引号,效果很好。

除了更改来源之外,还有其他方法吗?

1 个答案:

答案 0 :(得分:0)

我通过将Escape character设置为引用(")与Azure数据工厂复制任务一起工作。屏幕截图:

ADF Copy Task

这基于您指定的文件:

"","""Spring Sale"" this year",""

,并且还可以像在插入Azure SQL数据库表中一样工作。样本JSON:

{
    "name": "DelimitedText1",
    "properties": {
        "linkedServiceName": {
            "referenceName": "linkedService2",
            "type": "LinkedServiceReference"
        },
        "type": "DelimitedText",
        "typeProperties": {
            "location": {
                "type": "AzureBlobStorageLocation",
                "fileName": "quotes.txt",
                "container": "someContainer"
            },
            "columnDelimiter": ",",
            "escapeChar": "\"",
            "quoteChar": "\""
        },
        "schema": [
            {
                "name": "Prop_0",
                "type": "String"
            },
            {
                "name": "Prop_1",
                "type": "String"
            },
            {
                "name": "Prop_2",
                "type": "String"
            }
        ]
    }
}

也许示例文件太简单了,但是在这种配置下它确实对我有用。

或者,只需使用SSIS并将其托管在Data Factory中即可。