当前位置: 首页 > 知识库问答 >
问题:

如何在没有Azure数据工厂的情况下将csv文件从blob存储加载到azure sql数据库

韩弘壮
2023-03-14

环境-MS Azure|源-Azure Blob容器(多个CSV文件保存在一个文件夹中)。|目标-AzureSQL数据库。

我的 Blob 容器每天会收到多个 CSV 文件。我想将所有这些 CSV 文件数据加载到 Azure SQL 数据库。如果源数据与目标匹配,则应更新它,否则应插入它。将数据加载到 Azure SQL 数据库中后,必须将 CSV 文件存档在 Blob 的不同目录中。我已经在 Azure 数据工厂中完成了这项工作,但现在我想在没有 Azure 数据工厂(如大容量插入方法或其他方法)的情况下工作。

有没有可能在没有Azure数据工厂的情况下完成此操作?

CSV文件数据示例:- (csv文件没有标题)

1,Peter,35        
2,John,28  
3,Tony,24

共有1个答案

柴博
2023-03-14

将csv文件从blob存储加载到azure sql数据库

请遵循以下步骤:

步骤1:创建数据库凭证并使用SAS令牌验证blob存储

CREATE DATABASE SCOPED CREDENTIAL
['https://<storage_account_name>.blob.core.windows.net/<container name>/]
   
WITH IDENTITY = 'SAS Token',
SECRET = 'sv….;

步骤2:创建外部数据源

CREATE EXTERNAL DATA SOURCE AzureStorage
WITH ( TYPE = BLOB_STORAGE,
          LOCATION = 'https://<storage_account_name>.blob.core.windows.net/',
          CREDENTIAL= ['https://<storage_account_name>.blob.core.windows.net/<container name>/]
);

Step3:BULK INSERT导入CSV文件

BULK INSERT samples.table1
FROM 'table1.csv'
WITH (DATA_SOURCE = 'AzureStorage',
    FIRSTROW = 2,
    FIELDTERMINATOR = ‘'
    ROWTERMINATOR = '\n'   
);

您可以参考Jesse的这篇文章(how-to-bok-load-data-from-azure-blob-to-azure-sql-Database)

 类似资料:
  • 如何将 avro 文件从 Blob 存储加载到 Azure 数据工厂 移动数据流?我正在尝试加载,但无法导入架构和预览。我在 Blob 中的 avro 文件是事件中心捕获函数的结果。我必须使用 Azure 数据工厂的移动数据流将数据从 Azure blob 移动到 Azure sql db。

  • 我有一个 json 文件存储在 Azure Blob 存储中,并且已使用数据工厂将其加载到 Azure SQL 数据库中。现在我想找到一种方法,以便仅将文件的新记录加载到我的数据库(因为文件每周左右更新一次)。有没有办法做到这一点? 谢谢!

  • 我正试图从azure blob存储中加载数据到delta lake。我正在使用下面的代码段 storage_account_name=“xxxxxxxxdev”storage_account_access_key=“xxxxxxxxxxxxxxxxxx” file_location=“wasbs://bicc-hdspk-eus-qc@xxxxxxxxdev.blob.core.windows.n

  • 我的应用程序见解中有一个“持续导出”过程,该过程基于我的新见解创建新文件。 除此之外,我有一个过程,使用Azure数据工厂,用Blob存储数据加载一个SQL表。 问题是:我不能从ADF读取数据,只能从Blob存储中读取新文件,而且我总是在处理相同的数据。此时,我忽略了SQL存储过程中加载过程后的重复数据,但我想通过只从Blob存储中读取新数据来提高这个过程的效率,我可以从ADF读取新数据吗?有人能

  • 我正在尝试使用 azure databricks scala 将数据从 blob 存储加载到 SQL 数据仓库中。 我收到这个错误 潜在的SQLException:-com.microsoft.sqlserver.jdbc.SQLServerException:由于内部错误,外部文件访问失败:“访问HDFS时发生错误:Java调用HdfsBridge_IsDirExist时引发的异常。Java异常