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