使用Azure Data Factory将数据加载到Azure DW

时间:2017-05-31 13:34:18

标签: sql-server azure azure-sql-database etl azure-data-factory

我使用ADF填充azure数据仓库,我需要准备增量插入/更新操作。我的源代码可以包含已加载到DW的数据,因此我需要检查数据是否已加载并执行操作。基本上,我们的想法是在过去7天内每天获取数据,以防有人更新历史数据。

首先,我尝试在源上使用自定义查询的复制活动,然后使用存储过程在目标上使用存储过程,如果记录已存在或未执行,则将按业务键检查并执行插入或更新。但我找不到如何处理每行源查询行的结果并将其传递给SP。

哪种方法最适合我的情况?基本上我在寻找天蓝云中的SSIS

1 个答案:

答案 0 :(得分:0)

您需要首先将加载的数据放入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)"
        }
    }

来源:https://docs.microsoft.com/en-us/azure/data-factory/data-factory-stored-proc-activity

在这种情况下,ADF输入和输出数据集可以是数据库中的关系表。

遗憾的是,ADF不是SSIS。但是如果你想比较一下,那就更像是SSIS控制流,而不是数据流和ETL引擎。

因此,您需要一系列活动来满足您的需求。在上面的屏幕截图中,您已经将SQL DB作为源代码,因此我对实际问题的确有些困惑。

也许首先将SQL DB中的数据运行到分段区域。然后复制到SQL DW。

希望这有帮助。