Fabric Apache Spark 診断エミッターは、Microsoft Fabric で一般提供されています。 Apache Spark 診断を収集し、監視、トラブルシューティング、および長期的な分析のために Azure の宛先にルーティングする統合された方法が提供されます。
診断エミッターが収集するもの
エミッターは、次の 4 つの診断ストリームをサポートします。
- Spark イベント ログ: ジョブ、ステージ、タスクのライフサイクル用の構造化された Spark エンジン イベント。
- Spark ドライバー ログ: Spark ドライバー プロセスからの出力をログに記録します。
- Spark Executor ログ: タスク レベルの診断のために Executor プロセスからの出力をログに記録します。
- Spark メトリック: JVM、Executor、タスク レベルのパフォーマンス メトリック。
Scala と PySpark で Apache Log4j を使用してカスタム アプリケーション ログを記述することもできます。 これらのログは、ルーティングの構成時にシステム診断と共に出力されます。
診断を送信できる場所
エミッタは、次の宛先をサポートします。
- Azure Log Analytics: Azure Log Analytics を使用してログとメトリックを収集する
- Azure Event Hubs: Azure Event Hubs を 使用して Apache Spark アプリケーションのログとメトリックを収集する
- Azure Blob Storage: Azure ストレージ アカウントを使用して Apache Spark アプリケーションのログとメトリックを収集する
すべての宛先は、同じ spark.synapse.diagnostic.emitter 構成パターンを使用し、宛先固有の値を使用します。
運用上のニーズに応じて、1 つの宛先または複数の宛先を構成できます。
データ コレクター API と比較したログ インジェスト API
Azure Log Analytics の場合、Log Ingestion API が推奨されるモデルです。 HTTP データ コレクター API と比較すると、次の機能が提供されます。
- データ収集規則 (DCR) を使用した明示的なスキーマ マッピング。
- データ収集エンドポイント (DCE) を介したルーティングとエンドポイント制御。
- サービス プリンシパル クライアント シークレットまたは証明書を使用した認証。
現在 HTTP データ コレクター API を使用している場合は、将来の Spark 監視のためにログ インジェスト API に移行します。
レガシ リファレンスのみについては、 Azure Log Analytics を使用した Apache Spark アプリケーションの監視に関するページを参照してください。