azure - 带双引号的 Azure 数据工厂 CSV
问题描述
我有一个检索 FTP 托管的 CSV 文件的管道。它是用双引号标识符分隔的逗号。问题存在于字符串封装在双引号中,但字符串本身包含双引号的情况。
字符串示例:"Spring Sale" this year.
它在 csv 中的外观(后跟两个空列):
"","""Spring Sale"" this year",""
SSIS 可以很好地处理这个问题,但数据工厂希望将其转换为不以逗号分隔的额外列。我已经删除了这一行的额外引号,它工作正常。
除了改变来源之外,有没有办法解决这个问题?
解决方案
我通过Azure 数据工厂复制任务使用Escape character
set as quote ( ) 来实现这一点。"
截屏:
这是基于您的规范的文件:
"","""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 并将其托管在数据工厂中。
推荐阅读
- python - SqlAlchemy orm 外连接不适用于特定的布尔字段
- javascript - 全局状态下的Vue更新索引
- laravel - Laravel 8 如何将 url 拆分为 seo 友好?
- intellij-idea - 如何阻止 intellij idea 在 /tmp 中构建巨大的关联索引
- c++ - 为 const 引用和 rvalue 引用编写重载
- servicestack - ServiceStack 基于路由的不同安全性
- mongodb - Mongoose 查询给定日期的 mongodb
- python - 如何在 Django 中显示相关产品?
- node.js - 使用 docker 运行 node ts 项目的问题
- python - 究竟什么会导致函数的 __code__.co_freevars 非空?