Eventi
31 mar, 23 - 2 apr, 23
Il più grande evento di apprendimento di Fabric, Power BI e SQL. 31 marzo - 2 aprile. Usare il codice FABINSIDER per salvare $400.
Iscriviti oggi stessoQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
L'estensione dell'emettitore di diagnostica Apache Spark di Fabric è una libreria che consente alle applicazioni Apache Spark di generare i log, i registri eventi e le metriche in più destinazioni, tra cui Azure Log Analytics, Archiviazione di Azure e Hub eventi di Azure.
Questa esercitazione illustra come configurare e generare log e metriche Spark in Log Analytics in Fabric. Una volta configurata, è quindi possibile raccogliere e inviare metriche e log dell'applicazione Apache Spark all'area di lavoro Log Analytics.
Seguire questa procedura per configurare le informazioni necessarie in Fabric.
Per creare questa area di lavoro, vedere una delle risorse seguenti:
Per configurare Spark, creare un artefatto dell'ambiente Fabric e scegliere una delle opzioni seguenti:
Creare un artefatto dell'ambiente di Fabric in Fabric
Aggiungere le proprietà Spark seguenti con i valori appropriati all'artefatto dell'ambiente oppure selezionare Aggiungi da .yml nella barra multifunzione per scaricare il file yaml di esempio, che contiene già le proprietà necessarie.
<LOG_ANALYTICS_WORKSPACE_ID>
: ID dell'area di lavoro Log Analytics.<LOG_ANALYTICS_WORKSPACE_KEY>
: chiave di Log Analytics. Per trovarla, nel portale di Azure andare a Area di lavoro Log Analytics>Agenti>Chiave primaria.spark.synapse.diagnostic.emitters: LA
spark.synapse.diagnostic.emitter.LA.type: "AzureLogAnalytics"
spark.synapse.diagnostic.emitter.LA.categories: "Log,EventLog,Metrics"
spark.synapse.diagnostic.emitter.LA.workspaceId: <LOG_ANALYTICS_WORKSPACE_ID>
spark.synapse.diagnostic.emitter.LA.secret: <LOG_ANALYTICS_WORKSPACE_KEY>
spark.fabric.pools.skipStarterPools: "true" //Add this Spark property when using the default pool.
In alternativa, per applicare la stessa configurazione di Azure Synapse, usare le proprietà seguenti oppure selezionare Aggiungi da .yml nella barra multifunzione per scaricare il file yaml di esempio.
spark.synapse.logAnalytics.enabled: "true"
spark.synapse.logAnalytics.workspaceId: <LOG_ANALYTICS_WORKSPACE_ID>
spark.synapse.logAnalytics.secret: <LOG_ANALYTICS_WORKSPACE_KEY>
spark.fabric.pools.skipStarterPools: "true" //Add this Spark property when using the default pool.
Salva e pubblica le modifiche.
Nota
Problema noto: impossibile avviare una sessione usando l'opzione 2 provvisoriamente. Attualmente, l'archiviazione dei segreti in Key Vault impedisce l'avvio delle sessioni Spark. Assegnare priorità alla configurazione usando il metodo descritto nell'opzione 1.
È necessario concedere l'autorizzazione del segreto di lettura agli utenti che invieranno applicazioni Apache Spark. Per ulteriori informazioni, vedere Fornire l'accesso a chiavi, certificati e segreti di Key Vault con un controllo degli accessi in base al ruolo di Azure.
Per configurare Azure Key Vault per archiviare la chiave dell'area di lavoro, seguire questa procedura:
Nel portale di Azure andare all'insieme di credenziali delle chiavi.
Nella pagina di impostazioni dell'insieme di credenziali delle chiavi selezionare Segreti, poi Genera importazione.
Nella schermata Crea un segreto, inserire i seguenti valori:
SparkLogAnalyticsSecret
.<LOG_ANALYTICS_WORKSPACE_KEY>
il segreto.Creare un artefatto dell'ambiente di Fabric in Fabric
Aggiungere le proprietà Spark seguenti con i valori corrispondenti all'artefatto dell'ambiente oppure selezionare Aggiungi da .yml sulla barra multifunzione nell'artefatto Ambiente per scaricare il file yaml di esempio che include le proprietà spark seguenti.
<LOG_ANALYTICS_WORKSPACE_ID>
: l'ID area di lavoro Azure Log Analytics.<AZURE_KEY_VAULT_NAME>
: nome dell'insieme di credenziali delle chiavi configurato.<AZURE_KEY_VAULT_SECRET_KEY_NAME>
(facoltativo): nome del segreto nell'insieme di credenziali delle chiavi per la chiave dell'area di lavoro. Il valore predefinito è SparkLogAnalyticsSecret
.// Spark properties for LA
spark.synapse.diagnostic.emitters LA
spark.synapse.diagnostic.emitter.LA.type: "AzureLogAnalytics"
spark.synapse.diagnostic.emitter.LA.categories: "Log,EventLog,Metrics"
spark.synapse.diagnostic.emitter.LA.workspaceId: <LOG_ANALYTICS_WORKSPACE_ID>
spark.synapse.diagnostic.emitter.LA.secret.keyVault: <AZURE_KEY_VAULT_NAME>
spark.synapse.diagnostic.emitter.LA.secret.keyVault.secretName: <AZURE_KEY_VAULT_SECRET_KEY_NAME>
spark.fabric.pools.skipStarterPools: "true" //Add this Spark property when using the default pool.
In alternativa, per applicare la stessa configurazione di Azure Synapse, usare le proprietà seguenti oppure selezionare Aggiungi da .yml nella barra multifunzione per scaricare il file yaml di esempio.
spark.synapse.logAnalytics.enabled: "true"
spark.synapse.logAnalytics.workspaceId: <LOG_ANALYTICS_WORKSPACE_ID>
spark.synapse.logAnalytics.keyVault.name: <AZURE_KEY_VAULT_NAME>
spark.synapse.logAnalytics.keyVault.key.secret: <AZURE_KEY_VAULT_SECRET_KEY_NAME>
spark.fabric.pools.skipStarterPools: "true" //Add this Spark property when using the default pool.
Nota
È anche possibile archiviare l'ID dell'area di lavoro in Key Vault. Impostare il nome del segreto su SparkLogAnalyticsWorkspaceId
o usare la configurazione spark.synapse.logAnalytics.keyVault.key.workspaceId
per specificare il nome del segreto ID dell'area di lavoro.
Per un elenco delle configurazioni di Apache Spark, vedere Configurazioni di Apache Spark disponibili
Salva e pubblica le modifiche.
Per collegare l'ambiente a notebook o a definizioni di processi Spark:
Per impostare l'ambiente dell'area di lavoro come predefinito:
Nota
Solo gli amministratori dell'area di lavoro possono gestire le configurazioni. I valori verranno applicati ai notebook e alle definizioni dei processi Spark associate alle impostazioni dell'area di lavoro. Per altre informazioni, vedere Impostazioni dell'area di lavoro Fabric.
Per inviare un'applicazione Apache Spark:
Inviare un'applicazione Apache Spark, con l'ambiente associato, che è stato configurata nel passaggio precedente. È possibile usare uno dei modi seguenti per eseguire questa operazione:
Andare all'area di lavoro Log Analytics specificata e visualizzare le metriche e i log dell'applicazione all'avvio dell'esecuzione dell'applicazione Apache Spark.
È possibile usare la libreria Apache Log4j per scrivere log personalizzati. Ecco alcuni esempi per Scala e PySpark:
Esempio per Scala:
%%spark
val logger = org.apache.log4j.LogManager.getLogger("com.contoso.LoggerExample")
logger.info("info message")
logger.warn("warn message")
logger.error("error message")
//log exception
try {
1/0
} catch {
case e:Exception =>logger.warn("Exception", e)
}
// run job for task level metrics
val data = sc.parallelize(Seq(1,2,3,4)).toDF().count()
Esempio per PySpark:
%%pyspark
logger = sc._jvm.org.apache.log4j.LogManager.getLogger("com.contoso.PythonLoggerExample")
logger.info("info message")
logger.warn("warn message")
logger.error("error message")
Per eseguire query sugli eventi di Apache Spark:
SparkListenerEvent_CL
| where fabricWorkspaceId_g == "{FabricWorkspaceId}" and artifactId_g == "{ArtifactId}" and fabricLivyId_g == "{LivyId}"
| order by TimeGenerated desc
| limit 100
Per eseguire query sui log del driver dell'applicazione Spark e dell'executor:
SparkLoggingEvent_CL
| where fabricWorkspaceId_g == "{FabricWorkspaceId}" and artifactId_g == "{ArtifactId}" and fabricLivyId_g == "{LivyId}"
| order by TimeGenerated desc
| limit 100
Per eseguire query sulle metriche di Apache Spark:
SparkMetrics_CL
| where fabricWorkspaceId_g == "{FabricWorkspaceId}" and artifactId_g == "{ArtifactId}" and fabricLivyId_g == "{LivyId}"
| where name_s endswith "jvm.total.used"
| summarize max(value_d) by bin(TimeGenerated, 30s), executorId_s
| order by TimeGenerated asc
Fabric invia dati di log a Monitoraggio di Azure con l'API di raccolta dati HTTP. I dati inviati all'API di raccolta dati di Monitoraggio di Azure sono soggetti a determinati vincoli:
Gli utenti possono eseguire query per valutare metriche e log a una frequenza impostata e generare un avviso in base ai risultati. Per altre informazioni, vedere Creare, visualizzare e gestire i registri con Monitoraggio di Azure.
Azure Log Analytics non può attualmente essere selezionato come destinazione per i log di Spark e le emissioni di metriche in una rete virtuale gestita perché l'endpoint privato gestito non supporta Log Analytics come origine dati.
Eventi
31 mar, 23 - 2 apr, 23
Il più grande evento di apprendimento di Fabric, Power BI e SQL. 31 marzo - 2 aprile. Usare il codice FABINSIDER per salvare $400.
Iscriviti oggi stessoFormazione
Modulo
Usare Apache Spark in Microsoft Fabric - Training
Apache Spark è una tecnologia di base per l'analisi dei dati su larga scala. Microsoft Fabric offre supporto per i cluster Spark, consentendo di analizzare ed elaborare i dati su larga scala.
Certificazione
Microsoft Certified: Fabric Analytics Engineer Associate - Certifications
In qualità di Fabric Analytics Engineer Associate, è necessario avere competenze specifiche in materia di progettazione, creazione e distribuzione di soluzioni di analisi dei dati su scala aziendale.
Documentazione
Questa esercitazione illustra come usare l'estensione dell'emettitore di diagnostica Apache Spark di Fabric per generare log, registri eventi e metriche delle applicazioni Apache Spark negli Hub eventi di Azure.
Questo articolo illustra come usare l'estensione dell'emettitore di diagnostica di Fabric Spark per raccogliere log, registri eventi e metrics.cluster, oltre che come integrare i dashboard di Grafana.
Monitoraggio dei dettagli dell'applicazione Apache Spark - Microsoft Fabric
Informazioni su come monitorare i dettagli dell'applicazione Apache Spark, inclusi lo stato di esecuzione recente, i problemi e lo stato dei processi.