適用対象:✅ ファブリック データ エンジニアリングとデータ サイエンス
Fabric Data Engineering のリソース プロファイルは、手動でチューニングすることなく、Spark コンピューティング構成を最適化するのに役立ちます。 主要なユース ケース、データ ボリューム、およびその他の高度な入力をいくつか選択して、ワークロードについて説明します。 その後、ファブリックは、実証済みのベスト プラクティスと内部パフォーマンス データに基づいて、推奨される構成 (ノード サイズ、自動スケール設定、ランタイム バージョンなど) を生成します。
リソース プロファイルを使用する理由
リソース プロファイルには次の機能があります。
- 最初から最適化: 最初の Spark セッションは、ワークロード用にチューニングされたコンピューティングで実行されます。反復ベンチマークは必要ありません。
- 整合性: ワークスペース内のすべての Spark ジョブは、同じパフォーマンスチューニングされた構成を共有します。
- 価格パフォーマンスの向上: 適切なサイズのリソースによって無駄が削減され、スループットが向上します。
- 運用オーバーヘッドの削減: チューニング サイクルが少なく、サポートエスカレーションも少なくなります。
前提条件
リソース プロファイルを構成するには、ワークスペースの 管理者 ロールが必要です。
リソース プロファイルを構成する
ワークスペースのリソース プロファイルを構成するには:
ワークスペースに移動し、[ワークスペースの 設定] を選択します。
左側のウィンドウで [データ エンジニアリング/サイエンス ] を展開し、[ Spark の設定] を選択します。
推奨されるコンピューティング構成を取得してリソースの使用状況を最適化するには、[ ユース ケースに合わせて最適化] で [ はじめに] を選択します。
[ ユース ケースの最適化 ] ページで、次の入力を指定します。
- 主なユース ケース: Medallion レイヤー または タスク ベースのいずれかを選択し、ドロップダウンから特定のオプションを選択します。 Medallion レイヤーのオプションは 、ブロンズ、 シルバー、 ゴールドです。 タスクベースのオプションは 、読み取り最適化 または 書き込み最適化です。 ユース ケースの選択に関するガイダンスについては、 主なユース ケース リファレンスを参照してください。
- 一般的なデータ ボリューム: ドロップダウンからボリュームを選択します。 最大 1 GB、10GB、 100 GB、 1 TB、または 1 TB を超えます。
- 最大容量ユニット (CU): スライダーを使用して、Spark プールの最大 CU 制限を設定します。
[ 推奨事項の取得] を選択します。
Fabric では、入力に基づいて最適化された構成が生成されます。
推奨事項を確認します。 推奨事項には、次の 2 つのカテゴリの値が含まれています。
- Spark プール: プールの種類、ノード ファミリ、ノード サイズ、自動スケーリング、動的実行プログラムの割り当て。
- 環境: ランタイム バージョン、Spark ドライバーのコアとメモリ、Spark Executor コア、メモリ、インスタンス。
入力を調整する場合は、戻る矢印を選択して前のページに戻り、選択内容を更新してから、[ 推奨事項の取得 ] をもう一度選択します。
構成の Spark プール名 と 環境 を入力し、[ 適用 ] を選択してワークスペースに保存します。
リソース プロファイルを適用すると、推奨設定でカスタム Spark プールが作成されます。
注
ワークスペースにカスタム プールがまだない場合、新しいプールはワークスペースの既定のプールとして自動的に設定 されます。 ワークスペースに既定のプールが既にある場合は、 Spark ワークスペース設定で新しいプールに手動で切り替える必要があります。 アクティブなセッションは、再起動されるまで影響を受けません。
主なユース ケース リファレンス
リソース プロファイルを構成するときに適切なプライマリ ユース ケース入力を選択するには、次のガイダンスを使用します。
メダリオンレイヤー
データ パイプラインが medallion アーキテクチャ パターンに従っている場合は、 Medallion レイヤー を選択します。このパターンでは、データが Bronze (raw)、Silver (cleaned)、Gold (キュレーション) ステージを通過します。 各オプションは、そのステージに一般的な読み取り/書き込み特性に応じて、計算リソースを調整します。
| 利用シーン | いつ使用するか |
|---|---|
| 青銅 | 生データ取り込み、書き込みスループットの高さ、多様な形式 |
| 銀 | クレンジングとエンリッチメント、中程度の結合を使用した読み取り/書き込みのバランス |
| 金 | 分析および Power BI のために読み取りを最適化した集計とレポート |
タスクを基にした
ワークロードがメダリオンパターンに従っていない場合や、単一のアクセスパターンに支配されている場合は、タスクベースを選択してください。 たとえば、スタンドアロン ETL ジョブ、対話型分析ノートブック、またはストリーミング パイプラインには、このオプションを使用します。
| 利用シーン | いつ使用するか |
|---|---|
| 読み取り最適化 | 頻繁な読み取りとクエリ、対話型ノートブック |
| 書き込みに最適化 | 大量のデータ取り込み、ETL パイプライン処理、ストリーミング |
リソース プロファイルの自動更新
リソース プロファイルでは、Spark コンピューティング構成をFabricからの最新の最適化に合わせて維持する自動更新機能がサポートされています。 自動更新が有効になっている場合、Fabricは、手動でチューニングする必要なく、リソース プロファイルの種類に基づいてワークロード固有の Spark プロパティを適用します。
自動更新の構成
Fabricには 3 つの自動更新プロファイルが用意されており、それぞれが特定のワークロード パターンに合わせて調整されています。
Spark ワークロードの読み取り負荷が高い
spark.fabric.resourceProfile.readHeavyForSparkAutoUpdateを使用して設定します。
{
"spark.databricks.delta.optimizeWrite.enabled": "true",
"spark.databricks.delta.optimizeWrite.partitioned.enabled": "true",
"spark.databricks.delta.optimizeWrite.binSize": "128"
}
このプロファイルは、ワークロードが中程度の書き込み最適化ニーズを持つ Spark 読み取りによって支配されている場合に使用します。
Power BI ワークロードの読み取り負荷が高い
spark.fabric.resourceProfile.readHeavyForPBIAutoUpdateを使用して設定します。
{
"spark.sql.parquet.vorder.default": "true",
"spark.databricks.delta.optimizeWrite.enabled": "true",
"spark.databricks.delta.optimizeWrite.binSize": "1g"
}
データが主にPower BIによって使用される場合は、このプロファイルを使用します。 Vオーダーは最適なDirect Lake性能のために有効化されており、ビンサイズが大きいほど解析読み取りに適したファイル数は少なく、より大きくなります。
書き込み負荷の高いワークロード
spark.fabric.resourceProfile.writeHeavyAutoUpdateを使用して設定します。
{
"spark.sql.parquet.vorder.default": "false",
"spark.databricks.delta.optimizeWrite.binSize": "128",
"spark.databricks.delta.optimizeWrite.partitioned.enabled": "true"
}
ワークロードの書き込みが多い場合 (大量のインジェストや ETL など) には、このプロファイルを使用します。 書き込みオーバーヘッドを減らすためにV順序は無効化されており、効率的なファイルレイアウトのためにパーティション分割による最適化書き込みが有効です。
自動更新のしくみ
自動更新が適用されたリソース プロファイルが適用される場合:
- Fabricは、主要なユース ケースとワークロードの種類に基づいて適切な自動更新構成を選択します。
- Spark プロパティは、ワークスペース内の新しいセッションに自動的に適用されます。
- アクティブなセッションは、再起動するまで影響を受けられません。
注
自動更新構成では、元のプロファイル入力の境界内で Delta Lake の書き込み動作とファイル レイアウトが最適化されます。 プールのサイズ、ノードの構成、自動スケールの設定は変更されません。
構成参照
| Setting | 適用されたプロパティ | いつ使用するか |
|---|---|---|
spark.fabric.resourceProfile.readHeavyForSparkAutoUpdate |
書き込み最適化が有効、パーティション書き込み、128 MB のビンサイズ | 読み取り負荷の高い Spark 分析 |
spark.fabric.resourceProfile.readHeavyForPBIAutoUpdate |
V-オーダー有効、書き込み最適化、ビンサイズ1 | 読み取り負荷の高いPower BI/DirectLake |
spark.fabric.resourceProfile.writeHeavyAutoUpdate |
Vオーダー無効化、書き込み最適化、ビンサイズ128MB、パーティション分割 | 書き込み負荷の高いインジェストと ETL |