Sql server 使用Azure数据工厂将数据加载到Azure DW
我正在用ADF填充azure数据仓库,我需要准备一个增量插入/更新操作。我的源可以包含已经加载到DW的数据,因此我需要检查数据是否已加载并执行操作。基本上,这个想法是在过去7天内每天获取数据,以防有人更新历史数据 首先,我尝试在源上使用带有自定义查询的复制活动,然后在目标上使用存储过程,该存储过程将按业务键检查记录是否已存在,并执行插入或更新。但我找不到如何处理每行源查询行的结果并将其传递给SP 适合我的情况的最佳方法是什么?基本上,我在azure云中寻找SSISql server 使用Azure数据工厂将数据加载到Azure DW,sql-server,azure,azure-sql-database,etl,azure-data-factory,Sql Server,Azure,Azure Sql Database,Etl,Azure Data Factory,我正在用ADF填充azure数据仓库,我需要准备一个增量插入/更新操作。我的源可以包含已经加载到DW的数据,因此我需要检查数据是否已加载并执行操作。基本上,这个想法是在过去7天内每天获取数据,以防有人更新历史数据 首先,我尝试在源上使用带有自定义查询的复制活动,然后在目标上使用存储过程,该存储过程将按业务键检查记录是否已存在,并执行插入或更新。但我找不到如何处理每行源查询行的结果并将其传递给SP 适合我的情况的最佳方法是什么?基本上,我在azure云中寻找SSI 您需要先将加载的数据放入类似SQ
您需要先将加载的数据放入类似SQL DB的东西中(如果您还没有这样做的话)。然后在此基础上使用存储过程生成合并样式行为并处理7天窗口。例如:
{
"name": "SprocActivitySamplePipeline",
"properties": {
"activities": [
{
"type": "SqlServerStoredProcedure",
"typeProperties": {
"storedProcedureName": "sp_sample",
"storedProcedureParameters": {
"DateTime": "$$Text.Format('{0:yyyy-MM-dd HH:mm:ss}', SliceStart)"
}
}
资料来源:
在这种情况下,ADF输入和输出数据集可以是数据库中的关系表
不幸的是,ADF不是SSIS。但是,如果您想比较它,请将其更像SSIS控制流,而不是数据流和ETL引擎
因此,你需要一系列的活动来完成你所需要的。在上面的屏幕截图中,您已经有了SQL DB作为源代码,所以我对实际问题有点困惑
可能先在SQL DB中的数据上运行proc,然后运行到一个暂存区域。然后复制到SQL DW
希望这有帮助