データファクトリで予定されているパイプラインの実行順序に問題があります。次のようにパイプライン上のデータファクトリ実行命令
私のパイプラインは次のとおりです。 タスク1、タスク2、そして最後にタスク3:
{
"name": "Copy_Stage_Upsert",
"properties": {
"description": "",
"activities": [
{
"type": "Copy",
"typeProperties": {
"source": {
"type": "BlobSource"
},
"sink": {
"type": "SqlDWSink",
"writeBatchSize": 10000,
"writeBatchTimeout": "00:10:00"
}
},
"inputs": [
{
"name": "csv_extracted_file"
}
],
"outputs": [
{
"name": "stage_table"
}
],
"policy": {
"timeout": "01:00:00",
"retry": 2
},
"scheduler": {
"frequency": "Hour",
"interval": 1
},
"name": "Copy to stage table"
},
{
"type": "Copy",
"typeProperties": {
"source": {
"type": "SqlDWSource",
"sqlReaderQuery": "SELECT * from table WHERE id NOT IN (SELECT id from stage_table) UNION ALL SELECT * from stage_table"
},
"sink": {
"type": "SqlDWSink",
"writeBatchSize": 10000,
"writeBatchTimeout": "00:10:00"
}
},
"inputs": [
{
"name": "stage_table"
}
],
"outputs": [
{
"name": "upsert_table"
}
],
"policy": {
"timeout": "01:00:00",
"retry": 2
},
"scheduler": {
"frequency": "Hour",
"interval": 1
},
"name": "Copy"
},
{
"type": "SqlServerStoredProcedure",
"typeProperties": {
"storedProcedureName": "sp_rename_tables"
},
"inputs": [
{
"name": "upsert_table"
}
],
"outputs": [
{
"name": "table"
}
],
"scheduler": {
"frequency": "Hour",
"interval": 1
},
"name": "Rename tables"
}
],
"start": "2017-02-09T18:00:00Z",
"end": "9999-02-06T15:00:00Z",
"isPaused": false,
"hubName": "",
"pipelineMode": "Scheduled"
}
}
簡単にするために、私は1つのパイプラインは、3回の簡単な作業でAと呼ばれてきたことを想像してみてください。
シナリオパイプラインAの
一つの実行が予定。
それとして実行:
タスク1 - >タスク2 - >タスク3
シナリオB
つ以上実行されるようにスケジュールパイプラインAの実行。
それはとして実行:
最初にスケジュールパイプラインタスク1 - >第二のスケジュールパイプラインタスク1 - >最初のスケジュールパイプラインタスク2 - >第二のスケジュールパイプラインタスク2 - >最初のスケジュールパイプラインタスク2 - >最初のスケジュールパイプラインタスク3 - >第二のスケジュールパイプラインタスク3.
ことが可能実行としての第2のシナリオです:
最初にスケジュールパイプラインタスク1 - >最初のスケジュールパイプラインタスク2 - >最初のスケジュールパイプラインタスク3、第二のスケジュールパイプラインをタスク1 - > 2番目のスケジュールされたパイプラインタスク2 - 2番目のスケジュールされたパイプラインタスク3
つまり、2番目のパイプラインが開始される前に最初のスケジュールされたパイプラインを終了する必要があります。
ありがとうございます!
これはハックだと思っていますが、例を投稿できますか?私はそれがどのように見えるかを推測していますが、知識のある人の意見を得ることは良いでしょう。私がこれまでに試したことはすべて失敗しました。 – SteveWilkinson