2017-05-22 11 views
0

環境Azureのデータファクトリー:パラメータ化されたフォルダとファイルパス

  • Azureのデータファクトリー

シナリオ

  • 私はからデータを読み込み、ADFパイプラインを持っています前提サーバー上でデータを紺碧のデータレイクに書き込みます。同じのために

  • -

    フォルダパスを次のように私は* ADF *(データセット)でフォルダ構造を提供しています - DBNAME/RawTables /トランザクション

    ファイルパス: - TableName.csv

問題

フォルダ名またはファイルパスをパラメータ化できますか?基本的に - 明日の場合 - フォルダパス*(配備なし)*を変更したい場合は、メタデータまたはテーブル構造を更新する必要があります。

+0

ですから、潜在的にソースディレクトリに基づいて、異なる宛先テーブルに書き込まれたデータをしたいですか? –

+0

はいまさに.. !! –

答えて

0

ここで短い答えはで、です。 ADFでは、このレベルの動的な柔軟性を単独で達成することはできません。

新しい変更されたデータセットをパイプラインに追加する必要があります。 Data Lakeでは、再利用できるファイルパスのパラメータを受け入れる単一のストアドプロシージャを使用することができます。しかし、これは、procを呼び出すときにADF JSONを調整する必要があります。

もちろん、すべての状況を把握するには、ADFカスタムアクティビティを使用し、必要な処理を行うためのメソッドを持つC#クラスを作成します。しかし、データレイクストアへの認証を設定するための努力は多大な努力を要するかもしれません。

これはあなたに操舵を与えることを望みます。

0

Mangesh、なぜADFで.Netカスタムアクティビティを試してみませんか。このカスタムアクティビティは、処理されたフォルダを潜在的にチェックする最初のアクティビティであり、処理されたフォルダが存在する場合は、そのフォルダをHistoryフォルダに移動します。 ADFはデータ移動とデータ変換のためのプラットフォームなので、IOアクティビティは扱いません。何がやりたいことはAzureのデータファクトリーV2の新しいルックアップ活動で可能である

https://docs.microsoft.com/en-us/azure/data-factory/data-factory-use-custom-activities

0

の位置は:ネットのカスタムアクティビティについての詳細を学ぶことができます。ドキュメントはLookup Activityです。

A JSONの例では、このようなものになるだろう

{ 
    "name": "LookupPipelineDemo", 
    "properties": { 
     "activities": [ 
      { 
       "name": "LookupActivity", 
       "type": "Lookup", 
       "typeProperties": { 
        "dataset": { 
         "referenceName": "LookupDataset", 
         "type": "DatasetReference" 
        } 
       } 
      }, 
      { 
       "name": "CopyActivity", 
       "type": "Copy", 
       "typeProperties": { 
        "source": { 
         "type": "SqlSource", 
         "sqlReaderQuery": "select * from @{activity('LookupActivity').output.tableName}" 
        }, 
        "sink": { 
         "type": "BlobSink" 
        } 
       },     
       "dependsOn": [ 
        { 
         "activity": "LookupActivity", 
         "dependencyConditions": [ "Succeeded" ] 
        } 
       ], 
       "inputs": [ 
        { 
         "referenceName": "SourceDataset", 
         "type": "DatasetReference" 
        } 
       ], 
       "outputs": [ 
        { 
         "referenceName": "SinkDataset", 
         "type": "DatasetReference" 
        } 
       ] 
      } 
     ] 
    } 
} 
関連する問題