Azure数据工厂存储过程



我正在为一个客户端(他是pro cloud)进行一个简短的比较,以显示SSIS与数据工厂。由于我是后者的新手,我正试图理解它的工作原理和局限性。

简而言之:

调用存储过程

在循环中:

使用第一个名为

的过程中的值动态地顺序调用2个存储过程

问题是,似乎没有一种方法可以调用存储过程,只有Azure表,Azure SQL等。我假设我需要自己调整JSON ?如果是这样,有没有人有任何例子或网址来解释这一点。在www上似乎很少有关于数据工厂的文档,例如

谢谢

可以从数据工厂调用存储过程。您将需要一个SQL Server链接服务,这是存储过程将运行的地方。

你不能在循环中动态调用存储过程,如果你想这样做,我建议你在初始存储过程中这样做,因为这样会更有效。

目前您不能将参数从另一个存储过程传递到另一个存储过程,但是您可以传递相对于正在运行的片(片时间等)的参数

单个存储过程的JSON代码如下所示:

{
     "name": "SprocActivitySamplePipeline",
     "properties": {
         "activities": [
             {
                 "type": "SqlServerStoredProcedure",
                 "typeProperties": {
                     "storedProcedureName": "sp_sample",
                     "storedProcedureParameters": {
                         "DateTime": "$$Text.Format('{0:yyyy-MM-dd HH:mm:ss}', SliceStart)"
                     }
                 },
                 "outputs": [
                     {
                         "name": "sprocsampleout"
                     }
                 ],
                 "scheduler": {
                     "frequency": "Hour",
                     "interval": 1
                 },
                 "name": "SprocActivitySample"
             }
         ],
          "start": "2016-08-02T00:00:00Z",
          "end": "2016-08-02T05:00:00Z",
         "isPaused": false
     }
 }

你可以像这样在activity中设置一个存储过程的参数:

"storedProcedureParameters": {
                    "ProjectID": "0",
                    "StartDate": "2000/01/01",
                    "EndDate": "2100/01/01"
                }

不能在ADF活动中运行SQL语句。看看ADF管道中的自定义活动。你有存储过程,spark, hive, pig等。您可以在一个简单的存储过程中运行truncate语句,这将解决您的问题。

最新更新