Eseguire l'onboarding dei dati da Azure Data Lake Storage Gen2

Questo articolo descrive come eseguire l'onboarding dei dati in una nuova area di lavoro di Azure Databricks da Azure Data Lake Storage Gen2. Si apprenderà come accedere in modo sicuro ai dati di origine in un percorso di archiviazione di oggetti cloud che corrisponde a un volume del catalogo Unity (scelta consigliata) o a una posizione esterna del catalogo Unity. Si apprenderà quindi come inserire i dati in modo incrementale in una tabella gestita del catalogo Unity usando il caricatore automatico con le tabelle live Delta.

Nota

Per eseguire l'onboarding dei dati in Databricks SQL anziché in un notebook, vedere Caricare dati usando tabelle di streaming in Databricks SQL.

Operazioni preliminari

Se non si è un amministratore, questo articolo presuppone che un amministratore abbia fornito quanto segue:

  • Accesso a un'area di lavoro di Azure Databricks con Unity Catalog abilitato. Per altre informazioni, vedere Configurare e gestire il catalogo Unity.

  • Autorizzazione READ FILES per il volume esterno di Unity Catalog o il percorso esterno del catalogo Unity corrispondente al percorso di archiviazione cloud che contiene i dati di origine. Per ulteriori informazioni, vedere Creare una posizione esterna per connettere la memorizzazione cloud ad Azure Databricks.

  • Il percorso dei dati di origine.

    Esempio di percorso del volume: /Volumes/<catalog>/<schema>/<volume>/<path>/<folder>

    Esempio di percorso esterno: abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>

  • Privilegi USE SCHEMA e CREATE TABLE per lo schema in cui si desidera caricare i dati.

  • Autorizzazione di creazione del cluster o accesso a un criterio del cluster che definisce un cluster di pipeline di tabelle live Delta (cluster_type campo impostato su dlt).

    Se il percorso dei dati di origine è un percorso del volume, il cluster deve eseguire Databricks Runtime 13.3 LTS o versione successiva.

Importante

Per domande su questi prerequisiti, contattare l'amministratore dell'account.

Passaggio 1: Creare un cluster

Per creare un cluster, eseguire le operazioni seguenti:

  1. Accedere all'area di lavoro di Azure Databricks.
  2. Nella barra laterale fare clic su Nuovo>cluster.
  3. Nell'interfaccia utente dei cluster specificare un nome univoco per il cluster.
  4. Se il percorso dei dati di origine è un percorso del volume, per la versione del runtime di Databricks Runtime selezionare 13.2 o versione successiva.
  5. Fare clic su Create cluster (Crea cluster).

Passaggio 2: Creare un notebook di esplorazione dei dati

Questa sezione descrive come creare un notebook di esplorazione dei dati in modo da poter comprendere i dati prima di creare la pipeline di dati.

  1. Nella barra laterale fare clic su +Nuovo>notebook.

    Il notebook viene collegato automaticamente all'ultimo cluster usato (in questo caso, il cluster creato nel passaggio 1: Creare un cluster).

  2. Immettere un nome per il Notebook.

  3. Fare clic sul pulsante lingua e quindi selezionare Python o SQL dal menu a discesa. Python è selezionato per impostazione predefinita.

  4. Per confermare l'accesso ai dati di origine in ADLS Gen2, incollare il codice seguente in una cella del notebook, fare clic su Esegui Menue quindi su Esegui cella.

    SQL

    LIST '<path-to-source-data>'
    

    Python

    %fs ls '<path-to-source-data>'
    

    Sostituire <path-to-source-data> con il percorso della directory che contiene i dati.

    Viene visualizzato il contenuto della directory che contiene il set di dati.

  5. Per visualizzare un esempio dei record per comprendere meglio il contenuto e il formato di ogni record, incollare il codice seguente in una cella del notebook, fare clic su Esegui Menue quindi su Esegui cella.

    SQL

    SELECT * from read_files('<path-to-source-data>', format => '<file-format>') LIMIT 10
    

    Python

    spark.read.format('<file-format>').load('<path-to-source-data>').limit(10).display()
    

    Sostituire i valori seguenti:

    • <file-format>: formato di file supportato. Vedere Opzioni di formato file.
    • <path to source data>: percorso di un file nella directory che contiene i dati.

    Vengono visualizzati i primi dieci record del file specificato.

Passaggio 3: Inserire dati non elaborati

Per inserire dati non elaborati, eseguire le operazioni seguenti:

  1. Nella barra laterale fare clic su Nuovo>notebook.

    Il notebook viene collegato automaticamente all'ultimo cluster usato( in questo caso, il cluster creato in precedenza in questo articolo).

  2. Immettere un nome per il Notebook.

  3. Fare clic sul pulsante lingua e quindi selezionare Python o SQL dal menu a discesa. Python è selezionato per impostazione predefinita.

  4. Incollare il codice seguente in una cella del notebook:

    SQL

    CREATE OR REFRESH STREAMING TABLE
      <table-name>
    AS SELECT
      *
    FROM
      STREAM read_files(
        '<path-to-source-data>',
        format => '<file-format>'
      )
    

    Python

    @dlt.table(table_properties={'quality': 'bronze'})
    def <table-name>():
      return (
         spark.readStream.format('cloudFiles')
         .option('cloudFiles.format', '<file-format>')
         .load(f'{<path-to-source-data>}')
     )
    

    Sostituire i valori seguenti:

    • <table-name>: nome della tabella che conterrà i record inseriti.
    • <path-to-source-data>: percorso dei dati di origine.
    • <file-format>: formato di file supportato. Vedere Opzioni di formato file.

Nota

Le tabelle live delta non sono progettate per essere eseguite in modo interattivo nelle celle del notebook. L'esecuzione di una cella contenente la sintassi Delta Live Tables in un notebook restituisce un messaggio che indica se la query è sintatticamente valida, ma non esegue la logica di query. Il passaggio seguente descrive come creare una pipeline dal notebook di inserimento appena creato.

Passaggio 4: Creare e pubblicare una pipeline

Per creare una pipeline e pubblicarla in Unity Catalog, eseguire le operazioni seguenti:

  1. Nella barra laterale fare clic su Flussi di lavoro, fare clic sulla scheda Tabelle live Delta e quindi su Crea pipeline.
  2. Immettere un nome per la pipeline.
  3. Per Modalità pipeline selezionare Attivato.
  4. Per Codice sorgente selezionare il notebook che contiene il codice sorgente della pipeline.
  5. Per Destinazione selezionare Catalogo Unity.
  6. Per assicurarsi che la tabella sia gestita da Unity Catalog e che qualsiasi utente con accesso allo schema padre possa eseguirne una query, selezionare un catalogo e uno schema di destinazione dagli elenchi a discesa.
  7. Se non si dispone dell'autorizzazione di creazione del cluster, selezionare un criterio cluster che supporta le tabelle live Delta dall'elenco a discesa.
  8. Per Avanzate, impostare Canale su Anteprima.
  9. Accettare tutti gli altri valori predefiniti e fare clic su Crea.

Passaggio 5: Pianificare la pipeline

Per pianificare la pipeline, eseguire le operazioni seguenti:

  1. Nella barra laterale fare clic su Tabelle live Delta.
  2. Fare clic sul nome della pipeline che si vuole pianificare.
  3. Fare clic su Pianifica>aggiungi una pianificazione.
  4. In Nome processo immettere un nome per il processo.
  5. Impostare la Pianificazione su Pianificato.
  6. Specificare il periodo, l'ora di inizio e il fuso orario.
  7. Configurare uno o più indirizzi di posta elettronica per ricevere avvisi all'avvio, all'esito positivo o negativo della pipeline.
  8. Cliccare su Crea.

Passaggi successivi