Aggiungere una destinazione Lakehouse a un eventstream

Questo articolo illustra come aggiungere una lakehouse come destinazione a un flusso di eventi in Microsoft Fabric. L'invio di dati di streaming a un lakehouse consente di rendere persistenti gli eventi in tempo reale nelle tabelle Delta per l'analisi batch e l'archiviazione a lungo termine.

Per ottimizzare le prestazioni di streaming e l'esecuzione di query in tempo reale, è consigliabile aggiungere una destinazione eventhouse e abilitare la disponibilità di OneLake di Eventhouse.

Nota

Le funzionalità avanzate sono abilitate per impostazione predefinita quando si creano flussi di eventi. Se sono presenti flussi di eventi creati tramite funzionalità standard, tali flussi di eventi continueranno a funzionare. È comunque possibile modificarli e usarli come di consueto. È consigliabile creare un nuovo flusso di eventi per sostituire i flussi di eventi standard in modo da poter sfruttare funzionalità aggiuntive e vantaggi dei flussi di eventi avanzati.

Importante

È prevista l'applicazione dello schema per la scrittura di dati in una tabella di destinazione lakehouse. Tutte le nuove scritture nella tabella devono essere compatibili con lo schema della tabella di destinazione in fase di scrittura, garantendo la qualità dei dati.

Quando l'output viene scritto in una nuova tabella delta, lo schema della tabella viene creato in base al primo record. Tutti i record dei dati di output vengono proiettati nello schema della tabella esistente.

Se i dati in ingresso contengono colonne che non si trovano nello schema di tabella esistente, le colonne aggiuntive non vengono incluse nei dati scritti nella tabella. Analogamente, se i dati in ingresso mancano colonne presenti nello schema di tabella esistente, le colonne mancanti vengono scritte nella tabella con i valori impostati su Null.

Se lo schema di una tabella Delta e un record in ingresso non hanno intersezione, si verifica un errore di conversione dello schema. Tuttavia, questo non è l'unico scenario che può causare un errore di questo tipo.

Se lo schema dei dati in ingresso cambia (ovvero lo schema del nuovo record di dati non è allineato al primo record), alcune colonne o interi record potrebbero andare perse durante la scrittura nella lakehouse. Pertanto, l'uso di un lakehouse per ricevere tali dati di streaming, ad esempio i dati CDC del database, non è consigliato.

Prerequisiti

  • Accesso a un'area di lavoro nella modalità di licenza della capacità Fabric o in quella di valutazione con autorizzazioni di Collaboratore o superiori
  • Avere accesso all'area di lavoro in cui si trova il lakehouse con autorizzazioni Contributor o superiori

Aggiungere una casa al lago come destinazione

Per aggiungere una destinazione lakehouse a un eventstream predefinito o derivato, seguire questa procedura.

  1. In Modalità di modifica per l'eventstream selezionare Aggiungi destinazione sul nastro e selezionare Lakehouse dall'elenco a discesa.

    Screenshot dell'elenco a discesa "Aggiungi destinazione" con l'opzione "Lakehouse" evidenziata.

  2. Collega il nodo lakehouse al nodo di flusso o all'operatore.

  3. Nella schermata di configurazione lakehouse completare le informazioni seguenti:

    1. Immettere un nome di destinazione.
    2. Seleziona l'Area di lavoro che contiene il lakehouse.
    3. Selezionare un lakehouse esistente nell'area di lavoro specificata.
    4. Selezionare una tabella Delta esistente o crearne una nuova per ricevere i dati.
    5. Seleziona il formato dei dati di input inviato al tuo lakehouse. I formati di dati supportati sono JSON, Avro e CSV.

    Screenshot della parte superiore della schermata di configurazione di Lakehouse.

  4. Seleziona Avanzate.

  5. Sono disponibili due modi di inserimento per una destinazione tipo 'lakehouse'. In base al tuo scenario, configurare queste modalità per ottimizzare il modo in cui i flussi di eventi di Fabric scrivono nel lakehouse.

    • Il numero minimo di righe è il numero minimo di righe che il lakehouse inserisce in un singolo file. Il valore minimo è 1 riga e il massimo è 2 milioni di righe per file. Minore è il numero minimo di righe, maggiore è il numero di file creati dal lakehouse durante l'inserimento.

    • La durata massima è la durata massima richiesta dal lakehouse per inserire un singolo file. Il limite minimo è 1 minuto e il massimo è 2 ore. Più lunga è la durata, più righe vengono inserite in un file.

    Screenshot della sezione Avanzato della schermata di configurazione di Lakehouse.

  6. Seleziona Salva.

  7. Per implementare la nuova destinazione lakehouse, selezionare Pubblica.

    Uno screenshot della destinazione del flusso e del lakehouse in modalità Modifica con il pulsante Pubblica evidenziato.

Dopo aver completato questi passaggi, la destinazione lakehouse è disponibile per essere visualizzata in Live view. Nel riquadro Dettagli selezionare il collegamento Ottimizza tabella nel notebook per avviare un processo Apache Spark all'interno di un notebook, che consolida i piccoli file di streaming all'interno della tabella lakehouse di destinazione.

Screenshot della destinazione Lakehouse e del pulsante di ottimizzazione della tabella nella Vista in diretta.

Nota

Quando si configura un flusso di eventi, l'origine, la logica di trasformazione e la destinazione vengono in genere aggiunte insieme. Per impostazione predefinita, quando si pubblica il flusso di eventi, i servizi back-end per l'inserimento dei dati e il routing dei dati iniziano rispettivamente con Now . Tuttavia, l'inserimento dei dati potrebbe iniziare più velocemente rispetto al routing dei dati, causando l'inserimento di alcuni dati nel flusso di eventi prima dell'inizializzazione completa del routing. Di conseguenza, questi dati potrebbero non essere indirizzati alla destinazione.

Per attenuare questo problema, seguire questa procedura:

  1. Quando si configura un Eventhouse (elaborazione degli eventi prima dell'inserimento) o una Lakehouse destinazione, deselezionare Attiva inserimento dopo aver aggiunto l'origine dati.

    Uno screenshot del database KQL senza selezionare Attivare l'ingestione dopo aver aggiunto l'origine dati.

  2. Attivare manualmente l'inserimento dopo la pubblicazione del flusso di eventi.

  3. Usare l'opzione Ora personalizzata per selezionare un timestamp precedente, assicurando che i dati iniziali vengano elaborati correttamente e indirizzati.

Screenshot della ripresa della destinazione Lakehouse.

Per altre informazioni, vedere Sospendere e riprendere i flussi di dati.

Per informazioni su come aggiungere altre destinazioni a un eventstream, vedere gli articoli seguenti: