【问题标题】:How to create a table in SQL Database from a CSV file in Blob which contain all the column name with its data type through Data Flow or ADF pipeline?如何从 Blob 中的 CSV 文件在 SQL 数据库中创建一个表,其中包含通过数据流或 ADF 管道的所有列名及其数据类型?
【发布时间】:2020-07-22 22:59:38
【问题描述】:

我的 Azure Blob 存储中有一个 CSV 文件,其中包含所有列名及其相应表的数据数据类型。

我想从这个 Blob 文件在 SQL 数据库中创建一个表,该表具有相同的列名和对应的数据类型,而不进行映射。

我已经通过数据流创建了一个表,但是我必须手动设置每一列的数据类型。但我不想这样做。 当我创建一个表时,它应该接受源中相同的数据类型以及 CSV 文件中给出的同步。

[]

[]

当我导入架构时,它将完整列作为ID (int),数据类型作为String,但是我希望当我导入架构并创建一个表时,它会将列名作为ID,数据类型作为@987654326 @ 并且它将为多个表执行相同的所有列名。

如果您有解决此问题的方法,请告诉我。

【问题讨论】:

  • 嗨 Somya Gupta,如果我的回答对您有帮助,请将其标记为答案。这对其他社区成员可能是有益的。谢谢。

标签: mapping azure-sql-database azure-data-factory-2 azure-blob-storage azure-data-flow


【解决方案1】:

在数据工厂中,当我们从CSV file复制数据时,我们设置first row as column,这意味着第一行数据将被设置为列名,id(int)Name(varchar)。如您所知,默认的列名数据类型是String(在数据工厂中)/varchar(128)(在SQL数据库中),我们无法更改。

我们不能创建以模式为列名的表!这个问题没有办法解决。

但数据工厂会自动帮助我们为我们创建合适的列数据类型映射。

例如,如果你的 csv 文件是这样的:

自动架构映射会将“1”(字符串)转换为 Azure SQL 数据库中的1(int)

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2021-05-04
    • 1970-01-01
    • 2021-11-17
    • 2022-11-11
    • 2017-12-24
    • 1970-01-01
    • 2012-10-08
    • 2022-09-22
    • 1970-01-01
    相关资源
    最近更新 更多