如何从ADL批量加载Azure SQLDB

如何从ADL批量加载Azure SQLDB,azure,azure-sql-database,azure-data-factory,Azure,Azure Sql Database,Azure Data Factory,我知道ADF中的复制活动可用于将数据从ADL加载到Azure SQL DB。 是否有散装的可能性。 例如,ADLS->Synapse必须选择PolyBase进行批量加载 是否有任何有效的方法将大量记录从ADL加载到Azure SQL DB 谢谢 Madhan您可以使用大容量插入或OPENROWSET将blob存储中的数据获取到Azure SQL数据库中。OPENROWSET的一个简单示例: 批量插入的一个简单示例: 首先需要进行一些设置,即必须使用CREATEEXTERNAL DATA SOUR

我知道ADF中的复制活动可用于将数据从ADL加载到Azure SQL DB。 是否有散装的可能性。 例如,ADLS->Synapse必须选择PolyBase进行批量加载

是否有任何有效的方法将大量记录从ADL加载到Azure SQL DB

谢谢 Madhan

您可以使用大容量插入或OPENROWSET将blob存储中的数据获取到Azure SQL数据库中。OPENROWSET的一个简单示例:

批量插入的一个简单示例:

首先需要进行一些设置,即必须使用CREATEEXTERNAL DATA SOURCE语句,但我发现它是在Azure SQL DB中获取数据的一种非常有效的方法,而无需设置ADF管道。它特别适合临时加载

本文将更详细地介绍以下步骤:


数据工厂具有良好的大数据传输性能,参考:。您可以按照此文档来改进ADL中大量记录的复制性能。我认为这可能比批量插入要好

我们不能在数据工厂中直接使用批量插入Transact-SQL。但我们可以使用ADL到Azure SQL数据库的批量复制。Data Factory为我们提供了教程和示例

此处引用::

本文介绍了一个可用于复制的解决方案模板 从Azure data Lake Storage Gen2到Azure Synapse的批量数据 分析/Azure SQL数据库。
希望对您有所帮助。

数据工厂具备大数据传输的性能,请参阅:。您可以按照此文档来改进ADL中大量记录的复制性能。谢谢Leon。是否可以使用此策略:?不,我们不能直接使用批量插入。您可以参考此文档:@hello@Madhanlal,如果我的答案对您有帮助,希望您能接受它作为答案。这可能对其他社区成员有益。如果您有任何其他问题,请随时通知我们。非常感谢。这只适用于测试。如果在生产环境中运行此操作,它将失败,因为您将对数据湖进行防火墙,并且不支持使用大容量插入从VNET加载文件。请参阅。
SELECT * 
FROM OPENROWSET (
    BULK 'someFolder/somecsv.csv',
    DATA_SOURCE = 'yourDataSource',
    FORMAT = 'CSV',
    FORMATFILE = 'yourFormatFile.fmt',
    FORMATFILE_DATA_SOURCE = 'MyAzureInvoices'
    ) AS yourFile;
BULK INSERT yourTable
FROM 'someFolder/somecsv.csv'
WITH ( 
    DATA_SOURCE = 'yourDataSource',
    FORMAT = 'CSV'
    );