我试图将递归放置在FTP文件夹中的csv文件复制到Azure中的SQL数据库。我还订阅了Azure数据工厂。有人可以帮助我实现这一目标的最简单方法吗?
我尝试过的
在Azure门户内部使用了复制实用程序。问题是,它要求我复制到数据库中定义的表中。是否可以仅读取csv文件并检测模式并将其直接放入表中?
试图使用.NET SDK。但是我没有看到直接在Azure中将ftp转换为sql数据库的示例。这些示例仅说明如何存储到Blob存储中。
答案 0 :(得分:1)
如果数据库中的表已经存在,则可以使用ADF从FTP复制到Azure SQL。此处https://docs.microsoft.com/en-us/azure/data-factory/tutorial-copy-data-portal参考ADF文档。尽管这是从Azure Blob到Azure SQL的教程,但是您可以将FTP设置为源,并且其他步骤很简单。
但是ADF只能复制到现有表,如果该表以前不存在,则必须在复制之前编写一个sql脚本来创建表。您可以将脚本放在管道-copyactivity-sink-“预复制脚本”中。将在复制开始之前运行。
答案 1 :(得分:1)
它可以只读取csv文件并检测架构并将其放入吗? 直接进入表格?
基于azure数据工厂中的sql database dataset,需要tableName
属性。因此,如果需要将csv数据传输到sql数据库中,则需要创建相关表,以便它们可以建立映射关系。
试图使用.NET SDK。但我没有看到ftp到sql的示例 直接在天蓝色的数据库。这些示例仅说明了如何存储到 Blob存储。
根据您的要求,建议您遵循两个步骤。
第1步:创建从ftp到azure blob storage的复制活动。
第2步:从azure blob storage到sql database创建另一个复制活动。
您可以将两个活动组合为一个流程。
希望它对您有帮助,如有任何问题,请告诉我。
更新答案:
您仍然需要将ftp中的csv文件复制到azure blob存储中。如果有2个目标表,只需在blob存储中创建两个容器,以便可以将文件分为特定的容器。
然后只需在Azure Blob存储数据集中配置容器名称。
它将循环容器中的所有文件。