Azure数据工厂-将FTP递归复制到数据库

Azure数据工厂-将FTP递归复制到数据库,azure,csv,ftp,recursive-query,azure-data-factory,Azure,Csv,Ftp,Recursive Query,Azure Data Factory,我正在尝试将递归地放在FTP文件夹中的csv文件复制到Azure中的SQL数据库。我还订阅了Azure Data Factory。有人能帮我找到最简单的方法吗 我试过的 在Azure门户中使用了复制实用程序。问题是,它要求我复制到数据库中定义的表中。它能从csv文件中读取并检测模式并直接将其放入表中吗 尝试使用.NET sdk。但我没有看到直接在azure中ftp到sql数据库的示例。这些示例仅说明如何存储到blob存储中 如果数据库中的表已经存在,则可以使用ADF从FTP复制到Azure SQ

我正在尝试将递归地放在FTP文件夹中的csv文件复制到Azure中的SQL数据库。我还订阅了Azure Data Factory。有人能帮我找到最简单的方法吗

我试过的

  • 在Azure门户中使用了复制实用程序。问题是,它要求我复制到数据库中定义的表中。它能从csv文件中读取并检测模式并直接将其放入表中吗

  • 尝试使用.NET sdk。但我没有看到直接在azure中ftp到sql数据库的示例。这些示例仅说明如何存储到blob存储中


  • 如果数据库中的表已经存在,则可以使用ADF从FTP复制到Azure SQL。请在此参考ADF文档。虽然这是从Azure Blob到Azure SQL的教程,但您可以将FTP设置为源,其他步骤也类似

    但是ADF只能复制到现有的表,如果该表以前不存在,则必须在复制之前编写sql脚本来创建该表。您可以将脚本放在管道复制活动接收器-“预复制脚本”。它将在复制开始之前运行

    它是否可以从csv文件中读取并检测模式并将其放置 直接进桌

    基于azure中的数据工厂,需要
    tableName
    属性。所以,若需要将csv数据传输到sql数据库中,则需要创建相关表,以便它们可以建立映射关系

    尝试使用.NET sdk。但是我没有看到ftp到sql的例子 直接在azure中创建数据库。这些示例仅说明如何存储到 水滴存储

    根据您的要求,我建议您遵循两个步骤

    步骤1:创建从到的复制活动

    步骤2:从创建另一个复制活动到

    您可以将两个活动合并到一个流中

    希望对您有所帮助,有任何问题请告诉我


    更新答案:

    您仍然需要将csv文件从ftp复制到azure blob存储中。如果您有2个目标表,只需在blob存储中创建两个容器,就可以将文件分割到特定的容器中

    然后只需在azure blob存储数据集中配置容器名称


    它将循环容器中的所有文件。

    嗨,宇生,谢谢你的提示。那么,从csv文件中,如何在预复制脚本中创建表呢?表名将是文件名。另外,我如何提及文件的模式?有很多csv文件,我想让ADF直接推断出来。@Ram,如果是这样的话,恐怕ADF目前没有能力为每个csv文件自动创建表格。。。ADF无法直接从CSV文件获取架构。我能想到的唯一解决办法是使用自定义活动执行自定义可执行文件来扫描csv文件并创建表…是的,但FTP中有1000个csv文件server@Ram那么,每个csv文件对应一个表?实际上只有两个表,但有许多csv文件。我可以将这些csv文件分组到它们必须访问的数据表中。