0

私は現在、データ工場によってcosmosdbからデータレーキストアにデータをコピーしようとしています。cosmosdbからデータをコピーする際のパフォーマンスを向上させる方法は?

ただし、パフォーマンスは約100KB/sと低く、データ量は100+ GBであり、増加を続けています。終了までに10日以上かかりますが、これは受け入れられません。

マイクロソフトの文書https://docs.microsoft.com/en-us/azure/data-factory/data-factory-copy-activity-performanceによれば、cosmosからdata lakeストアまでの最大速度は1MB/sです。それでも、パフォーマンスはまだ悪いです。

コスモス移行ツールが動作せず、エクスポートされたデータも問題ログもありません。

データレイク解析usqlは外部ソースを抽出することができますが、現時点ではAzure DB/DWとSQL Serverのみがサポートされており、cosmosdbはサポートされていません。

どのようなツールがコピーパフォーマンスを向上させることができますか?

答えて

0

あなたの説明によれば、パフォーマンスを向上させるために、高いcloudDataMovementUnitsを設定することをお勧めします。

DMU(Data Move Unit)は、Data Factoryの単一ユニットの電力(CPU、メモリ、ネットワークリソースの組み合わせ)を表す指標です。 DMUは、クラウド間のコピー操作では使用できますが、ハイブリッドコピーでは使用できません。 デフォルトでは、データファクトリは1つのクラウドDMUを使用して1つのコピーアクティビティを実行します。この既定値をオーバーライドするには、cloudDataMovementUnitsプロパティの値を次のように指定します。特定のコピー元およびシンクのユニットをさらに構成するときに得られるパフォーマンスの向上のレベルについては、パフォーマンスのリファレンスを参照してください。

注意:8以上の設定は、Blobストレージ/ Data Lake Store/Amazon S3 /クラウドFTP /クラウドSFTPからBlobストレージ/ Data Lake Store/Azure SQLデータベースに複数のファイルをコピーする場合にのみ機能します。

この速度は、あなたの現在の要件と一致しないのであれば、あなたが設定することができ、最大DMUは、ほかに4

です。

私はあなた自身のロジックを書いて、documentdbをデータレイクにコピーすることをお勧めします。

documentdbからdata lakeまでの並列コピーを使用できる複数のwebジョブを作成できます。

インデックスの範囲またはパーティションに従ってドキュメントを変換できます。次に、各Webジョブを異なる部分にコピーできます。私の意見では、これはより速くなります。

dmuについては、直接使用することはできますか、それとも最初に申請する必要がありますか?あなたが意味するウェブジョブはdotnetの活動ですか?詳細を教えてください。私の知る限りでは

、あなたは直接DMUを使用することができ、あなたは直接、以下のようにJSONファイル内DMU値を追加することができます。

"activities":[ 
    { 
     "name": "Sample copy activity", 
     "description": "", 
     "type": "Copy", 
     "inputs": [{ "name": "InputDataset" }], 
     "outputs": [{ "name": "OutputDataset" }], 
     "typeProperties": { 
      "source": { 
       "type": "BlobSource", 
      }, 
      "sink": { 
       "type": "AzureDataLakeStoreSink" 
      }, 
      "cloudDataMovementUnits": 32 
     } 
    } 
] 

WebJobsにプログラムやスクリプトを実行することができwebjobあなたのAzure App Service Webアプリケーションでは、オンデマンド、連続、スケジュールの3つの方法で実行できます。あなたがC#のプログラムを書くことができ意味(または他のコード言語を使用して)データ湖(ロジックのすべてを自分で記述する必要があります)にdocumentdbからデータをコピーするためのプログラムやスクリプトを実行するために

。 DMUについて

+0

、私はそれを直接使用することができますか私が最初にそれを適用する必要がありますか?あなたが意味するウェブジョブはdotnetの活動ですか?詳細を教えてください。ありがとう! –

+0

ADF設定を変更してdmuを直接使用できます。ウェブの仕事は、あなたが青空の中であなた自身のプログラムを走らせることができることを意味します。したがって、ADFを使用せずにパフォーマンスを向上させるために、documentdbからdata lakeにパラレルコピーするコードを記述することができます。 –

+0

私はDMU = 4を試しましたが、パフォーマンスは以前と同じです。だから私はC#プログラムを試しました。 C#でコピーを行う方法はありますか?コレクションにはストリームに保存するメソッドがありますが、データレイクはストリームの読み込みをサポートしていないようですが、これに関する提案はありますか?ありがとう! –

関連する問題