模擬問題集一覧

DP-700 模擬問題集(練習問題)

Fabric Data Engineer 合格に向けた本番形式の模擬問題集。すべての問題に詳しい解説と、ドメイン別の弱点分析つき。

2 練習テスト 110 問 合格ライン 70% 各 120 分

この模擬問題集で身につくこと

  • 本番と同じ形式・難易度の問題で実力を確認
  • 制限時間つきの試験モードで時間配分を体得
  • 演習モードで1問ずつ解説を読みながら学習
  • すべての問題に正解の根拠つきの詳しい解説
  • ドメイン別スコアで弱点分野をひと目で把握
  • 完了後も何度でも復習して本番前に仕上げ

練習テストの内容

2 テスト · 全 110 問
1
模擬問題集1先頭 15 問 無料
55 問 120 分 合格 70%
2
模擬問題集2 プラン限定
55 問 120 分 合格 70%

説明

DP-700(Fabric Data Engineer)の合格に向けた、本番形式の模擬問題集です。全 110 問を2 回の練習テストに分割し、 試験モード/演習モードで受験できます。各問題には正解の根拠と誤答の理由を記した詳しい解説が付き、受験後はドメイン別のスコアで弱点を把握できます。 各試験は先頭の問題から無料でお試しいただけます。

月額 ¥980 で全 110 問+全解説が受け放題

模試プラン(¥980/月)なら、ロックされた練習テストと詳しい解説、ドメイン別の弱点分析がすべて使い放題。本番に向けて実力を仕上げましょう。

DP-700 の出題範囲(カバーしている分野)

全 110 問を、本番の試験ガイドに沿った次の分野から出題しています。 受験後はドメイン別の正答率が表示され、弱点が特定できます。 難易度・学習時間・合格までの進め方はDP-700 の学習ガイドにまとめています。

DP-700 の無料練習問題(15 問・解説つき)

会員登録なしで、全 110 問のうち 15 問を正解と解説つきでご覧いただけます。 問題をクリックすると選択肢と解説が開きます。

問題 1インフラストラクチャのセキュリティ ソリューションの設計インフラストラクチャのセキュリティ ソリューションの設計
問題
Fabric F32 容量があり、ワークスペースが含まれています。ワークスペースには、MD5 ハッシュ代理キーを使用してモデル化された DW1 という名前のウェアハウスが含まれています。 DW1 には単一のファクトテーブルがあり、過去1年間で2億行から5億行に増加しました。 Direct Lake に基づく Microsoft Power BI レポートがあります。レポートは前年比の値を表示します。 ユーザーから、一部のレポートのパフォーマンスが時間とともに低下し、一部のビジュアルでエラーが表示されると報告されています。 パフォーマンスの問題を解決する必要があります。ソリューションは次の要件を満たす必要があります: - 最高のクエリパフォーマンスを提供すること。 - 運用コストを最小限に抑えること。 何をすべきですか?

選択肢と解説

  • 1
    MD5 ハッシュを SHA256 に変更する。
  • ✓
    容量を増やす。
  • 3
    V-Order を有効にする。
  • 4
    代理キーを変更して、異なるデータ型を使用するようにする。
  • 5
    ビューを作成する。

解説

正解: B. 容量を増やす。

解説:
問題のシナリオでは、ファクトテーブルのデータ量が2億行から5億行へと大幅に増加したことが、パフォーマンス低下とエラーの主な原因と考えられます。Microsoft Fabric の容量は、コンピューティングパワー (CU) を決定します。データ量が増加すると、クエリの処理や Direct Lake モードでのデータ読み込みに必要なリソースも増加します。

F32 容量では、増加したデータ量を処理するためのリソースが不足している可能性が非常に高いです。特に、レポートでエラーが表示されるという事実は、メモリ不足やクエリのタイムアウトなど、深刻なリソース制約を示唆しています。

したがって、最も直接的かつ効果的な解決策は、容量をより大きな SKU (例: F64) にスケールアップすることです。これにより、利用可能なコンピューティングリソースが増加し、クエリパフォーマンスが向上し、リソース不足によるエラーが解消されます。

その他の選択肢の評価:
  • A. MD5 ハッシュを SHA256 に変更する: ハッシュアルゴリズムを変更しても、パフォーマンスが向上する保証はありません。むしろキーのサイズが大きくなり、パフォーマンスが低下する可能性があります。
  • C. V-Order を有効にする: V-Order は Fabric Warehouse のテーブルでデフォルトで有効になっている最適化機能です。パフォーマンス向上に寄与しますが、データ量が容量の限界を超えた場合の根本的な解決策にはなりません。
  • D. 代理キーを異なるデータ型に変更する: 文字列ベースのハッシュキーを整数キーに変更することは、一般的に結合パフォーマンスを向上させるベストプラクティスです。しかし、これは大規模なデータ移行とETLプロセスの変更を伴うため、即時の問題解決にはならず、コストもかかります。まずはリソース不足を解消することが優先されます。
  • E. ビューを作成する: ビューはクエリの複雑さを隠蔽しますが、基になるテーブルのパフォーマンス問題を解決するものではありません。
「運用コストを最小限に抑える」という要件はありますが、システムがエラーを発生させている現状では、安定稼働させるための容量増強は必要な投資と判断されます。
この問題のページを開く →
問題 2(2つ選択) [参照画像: img_bbcaf27395.png; img_5e5fd89b06.png]インフラストラクチャのセキュリティ ソリューションの設計
問題
Fabricワークスペースに、`Warehouse1` というウェアハウスがあります。Warehouse1には、添付画像に示すテーブルと列が含まれています。 テーブルを非正規化し、`ContractType` と `StartDate` 列を `Employee` テーブルに含める必要があります。ソリューションは以下の要件を満たす必要があります。 - `StartDate` 列のデータ型が `date` であることを確認します。 - `Employee` テーブルのすべての行を保持し、`Contract` テーブルから一致する行を含めます。 - 結果セットには、従業員が2人を超えるすべての契約タイプについて、契約タイプごとの総従業員数を表示します。 これらの要件を満たすために、SQLクエリに含めるべき【2つの】キーワードまたは句はどれですか?(2つ選択) [参照画像: img_bbcaf27395.png; img_5e5fd89b06.png]

選択肢と解説

  • ✓
    LEFT JOIN
  • 2
    RIGHT JOIN
  • 3
    INNER JOIN
  • 4
    WHERE
  • ✓
    HAVING
  • 6
    CAST

解説

このクエリは、2つの主要な要件を満たす必要があります。

1. Employeeテーブルのすべての行を保持する: これは、契約情報を持たない従業員も含めて、すべての従業員を結果に含める必要があることを意味します。この要件を満たすためには、`LEFT JOIN`(または `LEFT OUTER JOIN`)を使用します。`Employee` テーブルを左側に置き、`Contract` テーブルを右側にして結合します。
  • `INNER JOIN` は、両方のテーブルに一致する従業員のみを返すため、要件を満たしません。
  • `RIGHT JOIN` は、すべての契約情報を保持しますが、契約のない従業員は除外されるため、要件を満たしません。

2. 従業員が2人を超えるグループのみを表示する: これは、`GROUP BY` 句でデータを集計した後に、その結果をフィルタリングする必要があることを意味します。集計関数(この場合は `COUNT()`)の結果に基づいてフィルタリングするには、`HAVING` 句を使用します。
  • `WHERE` 句は、`GROUP BY` による集計が行われる【前】に個々の行をフィルタリングするために使用されるため、このシナリオには適していません。

したがって、正しいキーワードは `LEFT JOIN` と `HAVING` です。
この問題のページを開く →
問題 3```sql SELECT ProductID, ProductNumber, ProductName, ModelNa…インフラストラクチャのセキュリティ ソリューションの設計
問題
あなたは製品ディメンションを作成する必要があります。 以下のApache Spark SQLコードを完成させるには、どのようにすればよいですか? ```sql SELECT ProductID, ProductNumber, ProductName, ModelName, SubCategoryName, CategoryName FROM ContosoLake.Products p [BOX 1] ContosoLake.ProductSubCategories s ON p.SubCategoryID = s.SubCategoryID [BOX 2] ContosoLake.ProductCategories c ON c.CategoryID = s.CategoryID WHERE [BOX 3] ``` 【注意】: 正しい選択肢を3つ選んでください。 [参照画像: img_51a50d8e02.png]

選択肢と解説

  • ✓
    【BOX 1】 INNER JOIN
  • 2
    【BOX 1】 LEFT OUTER JOIN
  • ✓
    【BOX 2】 INNER JOIN
  • 4
    【BOX 2】 LEFT OUTER JOIN
  • ✓
    【BOX 3】 IsActive = 1
  • 6
    【BOX 3】 CategoryName is not null

解説

この問題では、ケーススタディで定義された要件に基づいて製品ディメンションテーブルを作成するための正しいSQL句を選択する必要があります。

【BOX 1: INNER JOIN】
要件には、「一部の製品カテゴリとサブカテゴリは、どの製品にも割り当てられていない。これらは分析に関連性がなく、ゴールド層の製品ディメンションから除外する必要がある」と記載されています。`INNER JOIN` を使用すると、`Products` テーブルと `ProductSubcategories` テーブルの両方に一致するレコードのみが返されます。これにより、製品に紐づくサブカテゴリのみが結果に含まれ、要件を満たします。

【BOX 2: INNER JOIN】
BOX 1と同様の理由です。`ProductSubcategories` テーブルと `ProductCategories` テーブルを `INNER JOIN` で結合することで、製品に最終的に関連付けられているカテゴリのみが結果セットに含まれるようになります。これにより、どの製品にも割り当てられていないカテゴリが除外されます。

【BOX 3: IsActive = 1】
要件には、「ゴールド層の製品ディメンションには、アクティブな製品のみを含める必要がある。アクティブな製品は `IsActive` の値が `1` で識別される」と明確に指定されています。したがって、`WHERE` 句を使用して `IsActive = 1` の条件でデータをフィルタリングし、アクティブな製品のみを抽出する必要があります。
この問題のページを開く →
問題 4- ProductFileへのショートカット(エイリアス名: Products) - StoreFileへのショートカッ…インフラストラクチャのセキュリティ ソリューションの設計
問題
あなたは、storage1という名前のAzure Data Lake Storage Gen2アカウントと、storage2という名前のAmazon S3バケットを持っています。 次の表に示すDelta Parquetファイルがあります。 【ファイル情報】 - 名前: ProductFile, 保存先: storage1, サイズ: 50 MB - 名前: TripsFile, 保存先: storage2, サイズ: 2 GB - 名前: StoreFile, 保存先: storage2, サイズ: 25 MB あなたは、ショートカットのキャッシュが有効になっているWorkspace1という名前のFabricワークスペースを持っています。Workspace1には、Lakehouse1という名前のレイクハウスが含まれています。Lakehouse1には次のショートカットがあります。 - ProductFileへのショートカット(エイリアス名: Products) - StoreFileへのショートカット(エイリアス名: Stores) - TripsFileへのショートカット(エイリアス名: Trips) どのショートカットのデータがキャッシュから取得されますか?

選択肢と解説

  • 1
    TripsとStoresのみ
  • 2
    ProductsとStoresのみ
  • 3
    Storesのみ
  • 4
    Productsのみ
  • ✓
    Products、Stores、およびTrips

解説

正解は Products、Stores、およびTrips です。

Microsoft Fabricでは、レイクハウスのショートカットに対するキャッシュ機能が提供されています。この機能は、クエリのパフォーマンスを向上させるために、リモートデータソースのデータを自動的にキャッシュします。

このキャッシュ機能は、以下のデータソースへのショートカットをサポートしています。
  • Azure Data Lake Storage Gen2 (ADLS Gen2)
  • Amazon S3

問題のシナリオでは、3つのショートカットが定義されています。
  • Products: このショートカットは、storage1 (ADLS Gen2) にある ProductFile を指しています。ADLS Gen2はキャッシュ対象のため、このデータはキャッシュから取得されます。
  • Stores: このショートカットは、storage2 (Amazon S3) にある StoreFile を指しています。Amazon S3はキャッシュ対象のため、このデータもキャッシュから取得されます。
  • Trips: このショートカットは、storage2 (Amazon S3) にある TripsFile を指しています。Amazon S3はキャッシュ対象のため、このデータも同様にキャッシュから取得されます。

したがって、3つすべてのショートカットがキャッシュ機能の恩恵を受けることができます。
この問題のページを開く →
問題 5Apache Sparkの設定をどのように構成すべきですか?インフラストラクチャのセキュリティ ソリューションの設計
問題
あなたは、ブロンズ層とシルバー層のプロセスが分離して実行されるようにする必要があります。 Apache Sparkの設定をどのように構成すべきですか?

選択肢と解説

  • 1
    高コンカレンシーを無効にする。
  • ✓
    カスタムプールを作成する。
  • 3
    エグゼキューターの数を変更する。
  • 4
    デフォルト環境を設定する。

解説

正解: B. カスタムプールを作成する。

このシナリオの要件は、ブロンズ層とシルバー層のプロセスを【分離して実行する】ことです。Microsoft Fabricでは、Apache Sparkプールを使用して、Sparkジョブに割り当てられるコンピューティングリソースを管理します。

カスタムSparkプールを作成することで、異なるワークロード(この場合はブロンズ層とシルバー層のプロセス)に専用のコンピューティングリソースを割り当てることができます。これにより、一方のプロセスが他方のプロセスのパフォーマンスに影響を与えることを防ぎ、リソースの競合を回避してプロセスを効果的に分離(アイソレーション)できます。例えば、ブロンズ層の取り込みジョブ用に1つのプールを、シルバー層の変換ジョブ用にもう1つのプールを構成できます。

不正解の選択肢:
  • A. 高コンカレンシーを無効にする: 高コンカレンシーは、複数のユーザーやジョブが同時にセッションを共有できるようにする機能です。これを無効にすることは、リソースの分離とは直接関係ありません。むしろ、同時実行性を管理するための機能です。
  • C. エグゼキューターの数を変更する: エグゼキューターの数を変更するのは、個々のSparkジョブのパフォーマンスチューニングの一環です。これによりジョブの並列度は変わりますが、異なるプロセス間のリソース分離を保証するものではありません。
  • D. デフォルト環境を設定する: Fabricの環境は、ライブラリのバージョンやSparkのプロパティを標準化するために使用されます。これはコードの実行環境を定義しますが、コンピューティングリソースそのものを分離する機能ではありません。
この問題のページを開く →
問題 6DAG定義をどのように変更すべきですか?インフラストラクチャのセキュリティ ソリューションの設計
問題
あなたは、Workspace1という名前のFabricワークスペースを持っており、そこにはnotebook_01、notebook_02、notebook_03という3つのノートブックが含まれています。 Workspace1で新しいノートブックを構築しており、そこには添付画像に示されている有向非巡回グラフ(DAG)定義が含まれます。 DAG定義を以下の要件を満たすように変更する必要があります: ・【notebook_01】と【notebook_02】が並列で実行されるようにする。 ・【notebook_02】は、【notebook_03】の実行が完了した後にのみ実行されるようにする。 DAG定義をどのように変更すべきですか? [参照画像: img_5c2fa1173c.png]

選択肢と解説

  • 1
    2つ目のDAG定義を作成する。notebook_03とnotebook_02を新しいDAG定義に移動する。
  • 2
    notebook_03の宣言をDAG定義の先頭に移動する。notebook_02とnotebook_01に並列実行設定を追加する。
  • ✓
    DAG定義に2つのステージを作成する。最初のステージにnotebook_03を追加する。2番目のステージにnotebook_01とnotebook_02を追加する。
  • 4
    notebook_03の宣言をDAG定義の先頭に移動する。notebook_01とnotebook_02を含む新しいステージを追加する。

解説

正解: C

Microsoft Fabricで `mssparkutils.notebook.runMultiple` を使用してノートブックの実行をオーケストレーションする場合、`stages` パラメータを使用して実行の順序と並列性を制御できます。

`stages` の主な特徴は以下の通りです:
  • ステージは定義された順序で逐次的に実行されます。
  • 各ステージ内に定義されたアクティビティ(ノートブック)は並列で実行されます。

この問題の要件は次の2つです:
  • 1. `notebook_01` と `notebook_02` を並列で実行する。
  • 2. `notebook_02` は `notebook_03` の実行完了後に実行する。

これらの要件を満たすためには、まず `notebook_03` を実行し、その完了後に `notebook_01` と `notebook_02` を同時に開始するという実行フローを構築する必要があります。

選択肢Cは、このフローを正しく実装しています:
  • ステージ1: `notebook_03` を配置します。
  • ステージ2: `notebook_01` と `notebook_02` を配置します。

この構成により、まずステージ1の `notebook_03` が実行されます。ステージ1が完了すると、次にステージ2が開始され、その中の `notebook_01` と `notebook_02` が並列で実行されます。これは、提示されたすべての要件を完全に満たします。

他の選択肢の解説:
  • A: 別のDAGを作成すると、単一の実行フロー内で依存関係を管理できなくなります。
  • B: アクティビティの宣言順序は実行順序に影響しません。また、`concurrency` は個々のアクティビティではなく、DAG全体に適用される設定です。
  • D: `notebook_03` をステージの外に置いたままでは、ステージとの明確な依存関係が定義されません。すべての関連ノートブックをステージ内に配置することで、実行順序を保証できます。
この問題のページを開く →
問題 7`df = spark.read.table("Table1")` このコードを実行した後、結果として得られるデータフレ…インフラストラクチャのセキュリティ ソリューションの設計
問題
あなたは、Table1という名前のテーブルを含むFabricレイクハウスを持っています。 Table1は、添付画像の形式でデータを格納しています。 ノートブックには、次のコードセグメントが含まれています。 `df = spark.read.table("Table1")` このコードを実行した後、結果として得られるデータフレームのスキーマに関する以下の記述のうち、正しいものを【すべて】選択してください。 [参照画像: img_484da22075.png; img_91f2e241bb.png; img_2b0888c5c1.png]

選択肢と解説

  • 1
    OrderNumber列は、文字列データ型に変換されます。
  • ✓
    OrderDate列は、日付データ型に変換されます。
  • ✓
    CustomerName列は、文字列データ型に変換されます。

解説

Sparkがテーブルからデータを読み込む際、スキーマを自動的に推論します。`spark.read.table("Table1")` を実行すると、各列のデータ型はソースデータの値に基づいて決定されます。

各選択肢を検証してみましょう。
  • 選択肢1: OrderNumber列は、文字列データ型に変換されます。
    画像を見ると、`OrderNumber`列には `872341` のような整数値が含まれています。Sparkは通常、このような数値を `IntegerType` または `LongType` として推論します。文字列型 (StringType) としては推論されません。したがって、この記述は誤りです。

  • 選択肢2: OrderDate列は、日付データ型に変換されます。
    画像を見ると、`OrderDate`列には `2025-03-28` のような `yyyy-MM-dd` 形式の文字列が含まれています。これはSparkが日付として認識できる標準的な形式です。そのため、Sparkは自動的にこの列を `DateType` として推論します。したがって、この記述は正しいです。

  • 選択肢3: CustomerName列は、文字列データ型に変換されます。
    画像を見ると、`CustomerName`列には `Dennis Awkland` のようなテキストデータが含まれています。Sparkはテキストデータを `StringType` として推論します。したがって、この記述は正しいです。

以上のことから、正しい記述は選択肢2と3です。
この問題のページを開く →
問題 8このシナリオに基づき、次の記述のうち正しいものはどれですか?セキュリティのベスト プラクティスと優先順位の設計
問題
User1、User2、User3という3人のユーザーがいます。 あなたは、次の表に示すFabricワークスペースを持っています。 【ワークスペース情報】 - 名前: Workspace1, ワークスペース管理者: User1 - 名前: Workspace2, ワークスペース管理者: User2 User1とUser3を含むGroup1というセキュリティグループがあります。 Fabric管理者はDomain1というドメインを作成します。 User1はWorkspace3という新しいワークスペースを作成します。 あなたはGroup1をDomain1の共同作成者として追加します。 このシナリオに基づき、次の記述のうち正しいものはどれですか?

選択肢と解説

  • ✓
    User1はWorkspace1をDomain1に追加できます。
  • 2
    User2はWorkspace2をDomain1に追加できます。
  • 3
    User3はWorkspace3をDomain1に追加できます。

解説

Microsoft Fabricでワークスペースをドメインに割り当てるには、ユーザーは2つの条件を満たす必要があります。

1. ワークスペースの管理者であること。
2. ドメインの管理者または共同作成者であること。

このルールに基づいて、各選択肢を評価します。

  • 選択肢1: User1はWorkspace1をDomain1に追加できます。 (正解)
    User1はWorkspace1の管理者です(条件1をクリア)。また、User1はGroup1のメンバーであり、Group1はDomain1の共同作成者として追加されているため、User1はDomain1の共同作成者です(条件2をクリア)。両方の条件を満たすため、このステートメントは正しいです。

  • 選択肢2: User2はWorkspace2をDomain1に追加できます。 (不正解)
    User2はWorkspace2の管理者ですが(条件1をクリア)、Group1のメンバーではないため、Domain1の管理者でも共同作成者でもありません(条件2を満たさない)。したがって、このステートメントは誤りです。

  • 選択肢3: User3はWorkspace3をDomain1に追加できます。 (不正解)
    User3はGroup1のメンバーであるため、Domain1の共同作成者です(条件2をクリア)。しかし、Workspace3はUser1によって作成されたため、User3はそのワークスペースの管理者ではありません(条件1を満たさない)。したがって、このステートメントは誤りです。
この問題のページを開く →
問題 9各エンティティに適用すべき推奨バッジの正しい組み合わせはどれですか?セキュリティのベスト プラクティスと優先順位の設計
問題
あなたはFabric環境で以下のデータエンティティを実装しています: - 【Entity1】: レイクハウスで利用可能で、組織のコアエンティティとして使用されるデータを含みます。 - 【Entity2】: セマンティックモデルで利用可能で、組織の基準を満たすデータを含みます。 - 【Entity3】: Microsoft Power BIレポートで利用可能で、共有と再利用の準備ができているデータを含みます。 - 【Entity4】: Power BIダッシュボードで利用可能で、経営層の意思決定のために承認されたデータを含みます。 あなたの会社では、データに対して特定のガバナンスプロセスを実装する必要があります。 各エンティティのユースケースに基づいて、推奨バッジを適用する必要があります。 各エンティティに適用すべき推奨バッジの正しい組み合わせはどれですか? [参照画像: img_c88a7f5072.png]

選択肢と解説

  • ✓
    Entity1: 昇格, Entity2: 認定, Entity3: 昇格, Entity4: 認定
  • 2
    Entity1: 認定, Entity2: 昇格, Entity3: 認定, Entity4: 昇格
  • 3
    Entity1: マスターデータ, Entity2: 認定, Entity3: 昇格, Entity4: 認定
  • 4
    Entity1: 昇格, Entity2: 推奨不可, Entity3: マスターデータ, Entity4: 認定

解説

Microsoft Fabric(およびPower BI)では、データ資産の信頼性と品質を示すために「推奨(Endorsement)」という仕組みがあります。これには主に2つのレベルがあります。

  • 昇格 (Promoted): コンテンツの所有者が、共有する価値のある高品質なコンテンツであると判断したことを示します。これは自己認定のようなもので、他の人が価値のあるコンテンツを見つけやすくなります。
  • 認定 (Certified): 組織によって指定されたレビュープロセスを経て、コンテンツが組織の品質基準を満たしていることが確認されたことを示します。これは最高レベルの推奨であり、信頼性が高く、権威があり、組織全体での使用準備が整っていることを意味します。

この定義に基づいて、各エンティティに最適なバッジを割り当てます。

  • Entity1 (レイクハウスのコアエンティティ): レイクハウス内のデータは、特定のプロジェクトや部門にとって重要ですが、まだ組織全体の厳格なレビューを経ていない可能性があります。したがって、「昇格」が適切です。
  • Entity2 (組織基準を満たすセマンティックモデル): 「組織の基準を満たす」と明記されているため、これは組織による公式な承認を受けたことを意味します。したがって、「認定」が適切です。
  • Entity3 (共有・再利用準備済みのPower BIレポート): レポートの作成者が共有する価値があると判断した段階です。これは「昇格」のユースケースに合致します。
  • Entity4 (経営層向けの承認済みPower BIダッシュボード): 「経営層の意思決定のため」「承認されたデータ」という記述は、最高レベルの信頼性と品質保証が必要であることを示しています。したがって、「認定」が最も適切です。

以上のことから、正しい組み合わせは「Entity1: 昇格, Entity2: 認定, Entity3: 昇格, Entity4: 認定」となります。
この問題のページを開く →
問題 10このユーザーにどのロールを割り当てるべきですか?セキュリティのベスト プラクティスと優先順位の設計
問題
あなたの会社には、Workspace1とWorkspace2という名前の2つのFabricワークスペースを使用する営業部門があります。 会社は、ワークスペースを整理するためにドメイン戦略を実装することを決定しました。 あるユーザーが以下のタスクを実行できるようにする必要があります: ・営業部門用の新しいドメインを作成する。 ・東部地域用と西部地域用の2つのサブドメインを作成する。 ・Workspace1を東部地域のサブドメインに割り当てる。 ・Workspace2を西部地域のサブドメインに割り当てる。 解決策は、最小権限の原則に従う必要があります。 このユーザーにどのロールを割り当てるべきですか?

選択肢と解説

  • 1
    ワークスペース管理者
  • 2
    ドメイン管理者
  • 3
    ドメイン寄稿者
  • ✓
    Fabric管理者

解説

正解: D. Fabric管理者

この問題の要件をすべて満たすためには、ユーザーに Fabric管理者 ロールを割り当てる必要があります。

各ロールの権限は以下の通りです:
  • Fabric管理者: テナントレベルの最高権限を持ちます。ドメインの作成、サブドメインの作成、ワークスペースの割り当てなど、すべての管理タスクを実行できます。特に【新しいドメインの作成】はFabric管理者のみが実行可能なタスクです。
  • ドメイン管理者: 既存のドメインの設定を管理し、ワークスペースを割り当て、ドメインの寄稿者や他の管理者を管理できます。しかし、新しいドメインを作成することはできません。
  • ドメイン寄稿者: 既存のドメインにワークスペースを割り当てる権限のみを持ちます。ドメインやサブドメインの作成、設定変更はできません。
  • ワークスペース管理者: 特定のワークスペース内のコンテンツを管理する権限を持ちます。ドメインレベルの操作は行えません。

問題では「新しいドメインを作成する」というタスクが含まれているため、この権限を持つ唯一のロールであるFabric管理者が正解となります。
この問題のページを開く →
問題 11どのショートカットがキャッシュからデータを取得しますか?インフラストラクチャのセキュリティ ソリューションの設計
問題
Google Cloud Storage (GCS) コンテナ `storage1` には、次の表に示すファイルが含まれています。 【GCSファイル】 - Name: ProductFile.parquet, Size: 8 MB - Name: StoreFile.json, Size: 500 MB - Name: TripsFile.csv, Size: 99 MB ショートカットのキャッシュが有効になっているFabricワークスペース `Workspace1` があります。`Workspace1` にはレイクハウス `Lakehouse1` があり、`storage1` 内の各ファイルへのショートカット(Products, Stores, Trips)が作成されています。 すべてのショートカットからデータを読み取る必要があります。 どのショートカットがキャッシュからデータを取得しますか?

選択肢と解説

  • 1
    Storesのみ
  • ✓
    Productsのみ
  • 3
    StoresとProductsのみ
  • 4
    Products, Stores, Trips
  • 5
    Tripsのみ
  • 6
    ProductsとTripsのみ

解説

正解は B. Productsのみ です。

Microsoft Fabricのショートカットキャッシュ機能は、クエリのパフォーマンスを向上させるために、外部ストレージ(GCS、ADLS Gen2、Amazon S3など)のデータをFabric OneLake内にキャッシュします。

このキャッシュ機能が有効になるための最も重要な条件は、ソースデータのファイル形式です。公式ドキュメントによると、キャッシュの対象となるのはParquet形式のファイルのみです。

この問題の各ファイルを確認してみましょう:
  • Products (ProductFile.parquet): このファイルはParquet形式です。したがって、キャッシュの対象となります。
  • Stores (StoreFile.json): このファイルはJSON形式です。Parquet形式ではないため、キャッシュの対象外です。
  • Trips (TripsFile.csv): このファイルはCSV形式です。Parquet形式ではないため、キャッシュの対象外です。

したがって、キャッシュからデータを取得できるのは `Products` ショートカットのみです。
この問題のページを開く →
問題 12データを格納するために何を使用すべきですか?インフラストラクチャのセキュリティ ソリューションの設計
問題
あなたはFabricワークスペースを持っています。 半構造化データがあり、T-SQL、KQL、およびApache Sparkを使用してデータを読み取る必要があります。 データの書き込みはSparkのみを使用して行われます。 データを格納するために何を使用すべきですか?

選択肢と解説

  • ✓
    レイクハウス
  • 2
    イベントハウス
  • 3
    データマート
  • 4
    ウェアハウス

解説

正解: 1. レイクハウス

Microsoft Fabricにおいて、複数のエンジンからアクセスされる半構造化データを格納するための最適な場所はレイクハウスです。

各コンポーネントの役割:
  • レイクハウス (Lakehouse): Apache Sparkネイティブの環境であり、ファイル(Parquet, CSV, JSONなど)やDelta Lakeテーブルを格納します。半構造化データの扱いに非常に優れており、Sparkによる書き込みに最適です。また、自動的に生成されるSQL分析エンドポイントを通じてT-SQLでクエリを実行できます。OneLakeの思想により、ショートカットなどを介してKQLからもデータにアクセス可能です。問題の要件(半構造化データ、Sparkでの書き込み、T-SQL/KQL/Sparkでの読み取り)をすべて満たします。
  • イベントハウス (Eventhouse): 主にリアルタイムのストリーミングデータや時系列データを扱うためのもので、KQL (Kusto Query Language) が主要なクエリ言語です。このシナリオには最適ではありません。
  • データマート (Datamart): Power BIユーザー向けのセルフサービス分析機能であり、内部的にはAzure SQL Databaseを使用します。主に構造化データを対象としています。
  • ウェアハウス (Warehouse): 従来のSQLデータウェアハウスと同様に、主に構造化データをT-SQLで扱うためのものです。半構造化データのネイティブな扱いや、KQLからの直接クエリには向いていません。

したがって、指定されたすべての要件を満たすのはレイクハウスです。
この問題のページを開く →
問題 13何を構成する必要がありますか?インフラストラクチャのセキュリティ ソリューションの設計
問題
Pipeline1という名前のデータパイプラインを開発しています。 SnowflakeデータソースからFabricウェアハウスにデータをコピーするCopy dataアクティビティを追加する必要があります。 何を構成する必要がありますか?

選択肢と解説

  • 1
    コピーの並列度
  • 2
    フォールトトレランス
  • ✓
    ステージングを有効にする
  • 4
    ログ記録を有効にする

解説

SnowflakeからFabric Warehouseにデータをコピーする場合、ステージングコピーを利用するのが最も効率的で推奨される方法です。

ステージングコピーとは、ソースデータを直接シンク(宛先)に移動するのではなく、一度中間ストレージ(通常はAzure Blob Storage)にデータを「ステージング」し、そこからシンクに高速でデータをロードする手法です。

FabricのCopy dataアクティビティでSnowflakeをソースとして使用する場合、このステージング設定を有効にすることで、FabricはSnowflakeのUNLOADコマンドを使用してデータを効率的に中間ストレージに抽出し、その後、Fabric WarehouseのCOPY INTOコマンドを使用してデータを高速にロードします。これにより、大規模なデータセットでも高いパフォーマンスと信頼性を実現できます。

その他の選択肢は不適切です:
  • コピーの並列度: パフォーマンスチューニングのオプションですが、ステージングが有効になっていないと効果が限定的、または利用できない場合があります。
  • フォールトトレランス: エラー処理に関する設定であり、コピー処理を有効にするための基本的な構成ではありません。
  • ログ記録を有効にする: 監査やデバッグのためのオプションであり、コピー処理の実行自体には必須ではありません。
この問題のページを開く →
問題 14データを取り込むために、どのタイプのアイテムを使用すべきですか?インフラストラクチャのセキュリティ ソリューションの設計
問題
Lakehouse1という名前のレイクハウスを含むFabricワークスペースがあります。 外部データソースには、それぞれ500GBのデータファイルがあります。新しいファイルが毎日追加されます。 変換を適用せずに、データをLakehouse1に取り込む必要があります。ソリューションは、以下の要件を満たす必要があります。 ・新しいファイルが追加されたときにプロセスをトリガーする。 ・最高のスループットを提供する。 データを取り込むために、どのタイプのアイテムを使用すべきですか?

選択肢と解説

  • 1
    Reflex
  • ✓
    Eventstream
  • 3
    Notebook
  • 4
    KQL クエリセット

解説

正解: Eventstream

このシナリオの要件は、新しいファイルが追加されたときにトリガーされ、変換なしで大規模なデータを高スループットでレイクハウスに取り込むことです。Microsoft FabricのEventstreamは、これらの要件を満たすために設計されています。

  • イベントドリブンな取り込み: Eventstreamは、Azure Blob Storageなどの外部ソースで新しいファイルが作成されるなどのイベントを検知し、データ取り込みプロセスを自動的にトリガーできます。
  • 高スループット: Eventstreamは、リアルタイムのデータストリームを処理するために最適化されており、大規模なデータ量を効率的に処理するための高いスループットを提供します。
  • 変換なしのルーティング: Eventstreamは、ソースから取得したデータを変換せずに、直接レイクハウスなどの宛先にルーティングする機能を持っています。

その他の選択肢の解説:
  • Reflex: データイベントに基づいてアクション(例: 通知の送信)をトリガーすることに重点を置いていますが、大規模なファイルのデータ取り込みそのものを目的としたツールではありません。
  • Notebook: ノートブックを使用してデータを取り込むことは可能ですが、ファイル追加をトリガーにするには追加のオーケストレーション(例: Data Factory パイプライン)が必要です。また、Eventstreamのような専用の取り込みサービスと比較して、最高のスループットを提供するとは限りません。
  • KQL クエリセット: KQLデータベースに格納されたデータをクエリ、探索、分析するためのものであり、データを取り込むためのアイテムではありません。
この問題のページを開く →
問題 15Eventhouseをデプロイプロセスに追加するには、何を使用すべきですか?インフラストラクチャのセキュリティ ソリューションの設計
問題
あなたは、Dev、Test、Prodという名前の3つのワークスペースを使用するFabricデプロイメントパイプラインを持っています。 デプロイプロセスの一部としてEventhouseをデプロイする必要があります。 Eventhouseをデプロイプロセスに追加するには、何を使用すべきですか?

選択肢と解説

  • ✓
    Azure DevOpsパイプライン
  • 2
    イベントストリーム
  • 3
    GitHub Actions

解説

正解: A. Azure DevOpsパイプライン

Fabricのデプロイメントパイプラインは、主にPower BIのアイテム(レポート、データセットなど)のデプロイを簡素化するために設計されており、すべてのFabricアイテムのデプロイをネイティブでサポートしているわけではありません。

Eventhouseのような比較的新しい、または複雑なコンポーネントを環境間(Dev、Test、Prod)で一貫してデプロイするには、より高度な自動化機能が必要です。Azure DevOpsパイプラインを使用することで、以下のような利点があります。
  • 自動化とオーケストレーション: Fabric REST APIやPowerShellコマンドレットを呼び出すスクリプトを実行し、Eventhouseの作成、設定、更新を自動化できます。
  • CI/CDの統合: Eventhouseの定義(例: KQLスクリプト)をソース管理(Gitなど)に含め、コードの変更をトリガーとしてデプロイパイプラインを自動的に実行できます。
  • 一貫性と再現性: 手動での操作を排除し、各環境に同じ構成を確実にデプロイできます。

その他の選択肢の解説:
  • B. イベントストリーム: イベントストリームは、リアルタイムデータを取り込み、処理し、Eventhouseなどの宛先にルーティングするためのFabricコンポーネントです。デプロイメントを管理するためのツールではありません。
  • C. GitHub Actions: GitHub ActionsもAzure DevOpsと同様にCI/CDパイプラインを構築できますが、Azure環境との親和性や統合機能の観点から、Azure DevOpsが有力な選択肢となることが多いです。しかし、これも技術的には可能な解決策の一つです。問題の文脈では、Azure DevOpsが最も一般的な答えとなります。
この問題のページを開く →

DP-700 模擬問題集についてよくある質問

DP-700 の練習問題は無料で試せますか?

はい。DP-700 は先頭 15 問を会員登録なしで、正解と全選択肢の解説つきでご覧いただけます。16 問目以降は模試プラン(月額 ¥980)または Pro プラン(月額 ¥4,980)でご利用ください。

問題は何問ありますか?

DP-700 は本番形式の練習テスト 2 回・全 110 問を収録しています。全問に解説が付いています。

解説は付いていますか?

全ての問題に、正解の理由と各選択肢がなぜ誤りなのかの解説を付けています。ドメイン(出題分野)別の正答率も受験後に確認できます。