繁体   English   中英

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

[英]How to load csv file from blob storage to azure sql database without Azure Data Factory

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

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

如果没有 Azure 数据工厂,是否可以完成此任务?

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

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

将 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-bulk-load-data-from-azure-blob-to-azure-sql-database

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM