Registrera data från Azure Data Lake Storage Gen2

Den här artikeln beskriver hur du registrerar data till en ny Azure Databricks-arbetsyta från Azure Data Lake Storage Gen2. Du får lära dig hur du på ett säkert sätt kommer åt källdata på en lagringsplats för molnobjekt som motsvarar en Unity Catalog-volym (rekommenderas) eller en extern plats i Unity Catalog. Sedan får du lära dig att mata in data stegvis i en hanterad Unity Catalog-tabell med automatisk inläsning med Delta Live Tables.

Kommentar

Information om hur du registrerar data i Databricks SQL i stället för i en notebook-fil finns i Läsa in data med hjälp av strömmande tabeller i Databricks SQL.

Innan du börjar

Om du inte är administratör förutsätter den här artikeln att en administratör har gett dig följande:

  • Åtkomst till en Azure Databricks-arbetsyta med Unity Catalog aktiverat. Mer information finns i Konfigurera och hantera Unity Catalog.

  • Behörigheten READ FILES på den externa Unity Catalog-volymen eller den externa unity-katalogens plats som motsvarar molnlagringsplatsen som innehåller dina källdata. Mer information finns i Skapa en extern plats för att ansluta molnlagring till Azure Databricks.

  • Sökvägen till dina källdata.

    Exempel på volymsökväg: /Volumes/<catalog>/<schema>/<volume>/<path>/<folder>

    Exempel på extern platssökväg: abfss://<container>@<storage-account>.dfs.core.windows.net/<folder>

  • Behörigheterna USE SCHEMA och CREATE TABLE för schemat som du vill läsa in data i.

  • Behörighet att skapa kluster eller åtkomst till en klusterprincip som definierar ett Pipelinekluster för Delta Live Tables (cluster_type fältet är inställt på dlt).

    Om sökvägen till källdata är en volymsökväg måste klustret köra Databricks Runtime 13.3 LTS eller senare.

Viktigt!

Om du har frågor om dessa förutsättningar kontaktar du kontoadministratören.

Steg 1: Skapa ett kluster

Gör följande för att skapa ett kluster:

  1. Logga in på din Azure Databricks-arbetsyta.
  2. I sidofältet klickar du på Nytt>kluster.
  3. I klustrets användargränssnitt anger du ett unikt namn för klustret.
  4. Om sökvägen till dina källdata är en volymsökväg väljer du 13.2 eller senare för Databricks Runtime-körningsversion.
  5. Klicka på Skapa kluster.

Steg 2: Skapa en notebook-fil för datautforskning

I det här avsnittet beskrivs hur du skapar en notebook-fil för datautforskning så att du kan förstå dina data innan du skapar din datapipeline.

  1. I sidofältet klickar du på +Ny>anteckningsbok.

    Anteckningsboken kopplas automatiskt till det senaste klustret som du använde (i det här fallet klustret du skapade i steg 1: Skapa ett kluster).

  2. Ange ett namn på anteckningsboken.

  3. Klicka på språkknappen och välj Python eller SQL på den nedrullningsbara menyn. Python är valt som standard.

  4. Om du vill bekräfta dataåtkomsten till dina källdata i ADLS Gen2 klistrar du in följande kod i en notebook-cell, klickar på Kör-menynoch klickar sedan på Kör cell.

    SQL

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

    Python

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

    Ersätt <path-to-source-data> med sökvägen till katalogen som innehåller dina data.

    Då visas innehållet i katalogen som innehåller datamängden.

  5. Om du vill visa ett exempel på posterna för att bättre förstå innehållet och formatet för varje post klistrar du in följande i en notebook-cell, klickar på Kör-menynoch klickar sedan på Kör cell.

    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()
    

    Ersätt följande värden:

    • <file-format>: Ett filformat som stöds. Se Alternativ för filformat.
    • <path to source data>: Sökvägen till en fil i katalogen som innehåller dina data.

    Då visas de första tio posterna från den angivna filen.

Steg 3: Mata in rådata

Gör följande för att mata in rådata:

  1. Klicka på Ny>anteckningsbok i sidopanelen.

    Anteckningsboken kopplas automatiskt till det senaste klustret som du använde (i det här fallet klustret som du skapade tidigare i den här artikeln).

  2. Ange ett namn på anteckningsboken.

  3. Klicka på språkknappen och välj Python eller SQL på den nedrullningsbara menyn. Python är valt som standard.

  4. Klistra in följande kod i en notebook-cell:

    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>}')
     )
    

    Ersätt följande värden:

    • <table-name>: Ett namn på tabellen som ska innehålla de inmatade posterna.
    • <path-to-source-data>: Sökvägen till dina källdata.
    • <file-format>: Ett filformat som stöds. Se Alternativ för filformat.

Kommentar

Delta Live Tables är inte utformat för att köras interaktivt i notebook-celler. Om du kör en cell som innehåller Delta Live Tables-syntax i en notebook-fil returneras ett meddelande om huruvida frågan är syntaktiskt giltig, men kör inte frågelogik. I följande steg beskrivs hur du skapar en pipeline från den inmatningsanteckningsbok som du nyss skapade.

Steg 4: Skapa och publicera en pipeline

Om du vill skapa en pipeline och publicera den i Unity Catalog gör du följande:

  1. Klicka på Arbetsflöden i sidofältet, klicka på fliken Delta Live Tables (Delta Live Tables ) och klicka sedan på Skapa pipeline.
  2. Ange ett namn på pipelinen.
  3. För Pipeline-läge väljer du Utlöses.
  4. Som Källkod väljer du den notebook-fil som innehåller din pipeline-källkod.
  5. Som Mål väljer du Unity Catalog.
  6. För att säkerställa att tabellen hanteras av Unity Catalog och alla användare med åtkomst till det överordnade schemat kan köra frågor mot den, väljer du ett katalog- och målschema i listrutorna.
  7. Om du inte har behörighet att skapa kluster väljer du en klusterprincip som stöder Delta Live Tables i listrutan.
  8. För Avancerat anger du kanalen till Förhandsversion.
  9. Acceptera alla andra standardvärden och klicka på Skapa.

Steg 5: Schemalägg pipelinen

Gör följande för att schemalägga pipelinen:

  1. Klicka på Delta Live Tables (Delta Live Tables) i sidofältet.
  2. Klicka på namnet på den pipeline som du vill schemalägga.
  3. Klicka på Schemalägg>lägg till ett schema.
  4. Som Jobbnamn anger du ett namn för jobbet.
  5. Ange Schema till Schemalagd.
  6. Ange period, starttid och tidszon.
  7. Konfigurera en eller flera e-postadresser för att ta emot aviseringar vid pipelinestart, lyckad eller misslyckad.
  8. Klicka på Skapa.

Nästa steg