Microsoft Fabric の決定ガイド: コピー アクティビティ、データフロー、または Spark
このリファレンス ガイドとシナリオ例を使用すると、Microsoft Fabric ワークロードにコピー アクティビティ、データフロー、または Spark が必要かどうかを判断しやすくなります。
コピー アクティビティ、データフロー、Spark の各プロパティ
パイプライン (コピー アクティビティ) | データフロー Gen 2 | Spark | |
---|---|---|---|
ユース ケース | データ レイクとデータ ウェアハウスの移行、 データ インジェスト、 軽量変換 |
データ インジェスト、 データの変換、 データ ラングリング、 データ プロファイル |
データ インジェスト、 データの変換、 データ処理、 データ プロファイル |
主要開発者ペルソナ | データ エンジニア、 データ インテグレーター |
データ エンジニア、 データ インテグレーター、 ビジネス アナリスト |
データ エンジニア、 データ サイエンティスト、 データ開発者 |
主な開発者スキル セット | ETL、 SQL、 JSON |
ETL、 M, SQL |
Spark (Scala、Python、Spark SQL、R) |
記述コード | ノー コード、 ロー コード |
ノー コード、 ロー コード |
コード |
データ量 | 低から高 | 低から高 | 低から高 |
開発インターフェイス | ウィザード、 キャンバス |
Power Query | ノートブック、 Spark ジョブ定義 |
Sources | 30 以上のコネクタ | 150 以上のコネクタ | 何百もの Spark ライブラリ |
Destinations | 18 以上のコネクタ | レイクハウス、 Azure SQL データベース、 Azure Data Explorer、 Azure Synapse Analytics |
何百もの Spark ライブラリ |
変換の複雑さ | 低: 軽量 - 型変換、列マッピング、マージ/分割ファイル、フラット化階層 |
低から高: 300 以上の変換関数 |
低から高: ネイティブ Spark およびオープンソース ライブラリのサポート |
Fabric でデータを操作する方法の選択については、次の 3 つのシナリオを確認してください。
Scenario1
データ エンジニアであるレオは、オンプレミスとクラウドの両方の外部システムから大量のデータを取り込む必要があります。 これらの外部システムには、データベース、ファイル システム、API が含まれます。 レオは、各コネクタやデータ移動操作のコードを記述して維持することを望んでいません。 彼は、ブロンズ、シルバー、ゴールドでメダリオン レイヤーのベスト プラクティスに従いたいと考えています。 レオは Spark の経験がないため、できるだけ最小限のコーディングによるドラッグ アンド ドロップ UI を優先するつもりです。 また、スケジュールに従ってデータを処理したいと考えています。
最初の手順は、Azure データ リソースとさまざまなサード パーティ ソース (Snowflake Web、REST、AWS S3、GCS など) から、ブロンズ レイヤー レイクハウスに生データを取得することです。 さまざまな LOB、オンプレミス、クラウド ソースのすべてのデータが 1 か所に存在するように、統合されたレイクハウスが必要です。 レオはオプションをレビューし、パイプライン コピー アクティビティを生バイナリ コピーの適切な選択肢として選びます。 このパターンは、履歴データ更新と増分データ更新の両方に適用されます。 コピー アクティビティを使用すると、必要に応じてコードなしでゴールド データをデータ ウェアハウスに読み込むことができます。パイプラインでは、ペタバイト規模のデータを移動できる大規模なデータ インジェストが提供されます。 コピー アクティビティは、アドホックまたはスケジュールを使用して、さまざまなソースから、ペタバイトのデータをレイクハウスやウェアハウスに移動する最適なローコードとコードなしの選択肢です。
Scenario2
メアリーは、複数の LOB 分析レポート要件に関する深い知識を持つデータ エンジニアです。 アップストリーム チームは、複数の LOB の履歴データと増分データを共通のレイクハウスに移行するソリューションを正常に実装しました。 メアリーは、それぞれのレポート チームに備えて、データのクリーニング、ビジネス ロジックの適用、複数の宛先 (Azure SQL DB、ADX、レイクハウスなど) への読み込みを任されています。
メアリーは経験豊富な Power Query ユーザーであり、必要なパフォーマンスを実現するためのデータ量は低から中の範囲にあります。 データフローは、何百ものデータ ソースからデータを取り込むためのコードなしインターフェイスまたはローコード インターフェイスを提供します。 データフローを使用すると、300 以上のデータ変換オプションを使用してデータを変換し、使いやすく視覚的なユーザー インターフェイスを使用して複数の変換先に結果を書き込むことができます。 メアリーはオプションを確認し、Dataflow Gen 2 を優先する変換オプションとして使用するのが理にかなっていると判断します。
Scenario3
アダムは、レイクハウスを使用して顧客データを格納および分析する大規模な小売企業で働くデータ エンジニアです。 アダムは、ジョブの一環として、レイクハウスにデータを抽出、変換、読み込むデータ パイプラインの構築と保守を担当しています。 会社のビジネス要件の 1 つは、顧客レビュー分析を実行して、顧客のエクスペリエンスに関する分析情報を取得し、サービスを改善することです。
アダムは、Spark を使用して抽出と変換のロジックを構築するのが最適なオプションであると判断します。 Spark は、大量のデータを並列で処理できる分散コンピューティング プラットフォームを提供します。 アダムは、Python または Scala を使用して Spark アプリケーションを作成し、顧客のレビューとフィードバック用に OneLake から構造化データ、半構造化データ、非構造化データを読み取ります。 アプリケーションは、レイクハウス内の Delta テーブルにデータをクレンジング、変換、および書き込みます。 その後、データをダウンストリーム分析に使用する準備が整います。