gpt4 book ai didi

来自 StoredProcedure 的 Azure 数据工厂数据集

转载 作者:行者123 更新时间:2023-12-03 03:06:01 24 4
gpt4 key购买 nike

我的目标是通过存储过程将数据从一个 SQl azure 数据库(用户 DB)传递到另一个 SQl azure 数据库(数据仓库)。

我创建了两个链接服务,每个数据库一个。还有两个我有疑问的数据集。

相关存储过程从一个表以及与其他表的多个联接中收集数据,并返回应存储在数据仓库中的表中的结果

SP是这样的:

ALTER PROCEDURE [DataWarehouse].[Item_init]
AS
BEGIN
SET NOCOUNT ON
SELECT Id, a.Name, Code, f.Name, s.Name, g.Name
FROM Item.Item a
join Item.Groupg on g.idGroup= a.idGroup
join Item.Subfam s on s.idSubfam = g.idSubfam
join Item.Fam f on f.idFam= s.idFam

END

从UserDB收集数据的数据集(我认为这是不正确的)是这样的:

{
"name": "ds_SProcItem_init",
"properties": {
"published": false,
"type": "AzureSqlTable",
"linkedServiceName": "UserTable",
"typeProperties": {
"tableName": "Item.Item"
},
"availability": {
"frequency": "Hour",
"interval": 1
}
}
}

其他数据集:

{
"name": "ds_DWItemOutput",
"properties": {
"published": false,
"type": "AzureSqlTable",
"linkedServiceName": "DataWareHouse",
"typeProperties": {
"tableName": "Item"
},
"availability": {
"frequency": "Hour",
"interval": 1
}
}
}

传输数据集的管道如下:

{
"name": "SprocItem_InitPipeline",
"properties": {
"activities": [
{
"type": "SqlServerStoredProcedure",
"typeProperties": {
"storedProcedureName": "DataWarehouse.Item_init"
},
"inputs": [
{
"name": "ds_SProcItem_init"
}
],
"outputs": [
{
"name": "ds_DWItemOutput"
}
],
"scheduler": {
"frequency": "Hour",
"interval": 1
},
"name": "SprocItem_Init"
}
],
"start": "2016-08-02T00:00:00Z",
"end": "2016-08-02T05:00:00Z",
"isPaused": false,
"hubName": "pruebasaas_hub",
"pipelineMode": "Scheduled"
}
}

请知道这个主题的人可以帮助我吗?谢谢!

最佳答案

考虑到 Azure SQL DB 的限制,我建议您需要在此处使用复制事件以及存储过程。您需要在 ADF 的工作方式范围内处理此问题。请记住这不是 SSIS :-)

如果我要构建数据工厂,这些是我会采取的步骤...

  1. 为了完整起见,定义存储过程使用的每个表的数据集。
  2. 第一条管道。有一个事件调用存储过程,该存储过程在第一个 Azure SQL 数据库实例上执行输入数据集的联接并输出到新的临时表(在此处执行 SQL INSERT INTO ... SELECT...)。
  3. 在 ADF 中为定义的暂存表提供输出数据集(过程结果)。
  4. 第二条管道。将第 3 点中的输出暂存表中的复制事件作为输入。然后输出到第二个 Azure SQL 数据库实例上的表。
  5. 再次为最终目标表提供 ADF 数据集的完整性。

复制事件弥补了无法进行跨数据库查询和不存在 SQL Server 链接服务器的差距。

图片帮助...

(画工不好请见谅)

enter image description here

有道理吗? :-)很好,继续。

关于来自 StoredProcedure 的 Azure 数据工厂数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44430840/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com