Snabbstart för Delta Live Tables

Du kan enkelt skapa och köra en Delta Live Tables-pipeline med hjälp av en Azure Databricks notebook-fil. Den här artikeln visar hur du använder en Delta Live Tables-pipeline på en datauppsättning som innehåller Wikipedia-klickströmsdata för att:

  • Läs Obehandlade JSON-klickströmsdata i en tabell.
  • Läs posterna från rådatatabellen och använd Delta Live Tables-förväntningar för att skapa en ny tabell som innehåller rensade data.
  • Använd posterna från den rensade datatabellen för att skapa Delta Live Tables-frågor som skapar härledda datauppsättningar.

I den här snabbstarten kommer du att göra följande:

  1. Skapa en ny anteckningsbok och lägg till koden för att implementera pipelinen.
  2. Skapa ett nytt pipelinejobb med hjälp av notebook-filen.
  3. Starta en uppdatering av pipelinejobbet.
  4. Visa resultatet av pipelinejobbet.

Krav

Du måste ha behörighet att skapa kluster för att starta en pipeline. Delta Live Tables-körningen skapar ett kluster innan den kör pipelinen och misslyckas om du inte har rätt behörighet.

Skapa en notebook-fil

Du kan använda en exempelanteckningsbok eller skapa en ny notebook-fil för att köra Delta Live Tables-pipelinen:

  1. Gå till din Azure Databricks landningssida och välj Skapa tom anteckningsbok.

  2. I dialogrutan Skapa anteckningsbok ger du anteckningsboken ett namn och väljer Python eller SQL i listrutan Standardspråk. Du kan låta klustret vara inställt på standardvärdet. Delta Live Tables-körningen skapar ett kluster innan det kör din pipeline.

  3. Klicka på Skapa.

  4. Kopiera Python eller SQL kodexemplet och klistra in det i den nya anteckningsboken. Du kan lägga till exempelkoden i en enda cell i anteckningsboken eller flera celler.

    Anteckning

    Du måste starta din pipeline från fliken Delta Live Tables i användargränssnittet Jobb. Om du klickar Run Icon för att köra pipelinen returneras ett fel.

Kodexempel

Python

import dlt
from pyspark.sql.functions import *
from pyspark.sql.types import *

json_path = "/databricks-datasets/wikipedia-datasets/data-001/clickstream/raw-uncompressed-json/2015_2_clickstream.json"
@dlt.table(
  comment="The raw wikipedia clickstream dataset, ingested from /databricks-datasets."
)
def clickstream_raw():
  return (spark.read.format("json").load(json_path))

@dlt.table(
  comment="Wikipedia clickstream data cleaned and prepared for analysis."
)
@dlt.expect("valid_current_page_title", "current_page_title IS NOT NULL")
@dlt.expect_or_fail("valid_count", "click_count > 0")
def clickstream_prepared():
  return (
    dlt.read("clickstream_raw")
      .withColumn("click_count", expr("CAST(n AS INT)"))
      .withColumnRenamed("curr_title", "current_page_title")
      .withColumnRenamed("prev_title", "previous_page_title")
      .select("current_page_title", "click_count", "previous_page_title")
  )

@dlt.table(
  comment="A table containing the top pages linking to the Apache Spark page."
)
def top_spark_referrers():
  return (
    dlt.read("clickstream_prepared")
      .filter(expr("current_page_title == 'Apache_Spark'"))
      .withColumnRenamed("previous_page_title", "referrer")
      .sort(desc("click_count"))
      .select("referrer", "click_count")
      .limit(10)
  )

SQL

CREATE OR REFRESH LIVE TABLE clickstream_raw
COMMENT "The raw wikipedia clickstream dataset, ingested from /databricks-datasets."
AS SELECT * FROM json.`/databricks-datasets/wikipedia-datasets/data-001/clickstream/raw-uncompressed-json/2015_2_clickstream.json`;

CREATE OR REFRESH LIVE TABLE clickstream_prepared(
  CONSTRAINT valid_current_page EXPECT (current_page_title IS NOT NULL),
  CONSTRAINT valid_count EXPECT (click_count > 0) ON VIOLATION FAIL UPDATE
)
COMMENT "Wikipedia clickstream data cleaned and prepared for analysis."
AS SELECT
  curr_title AS current_page_title,
  CAST(n AS INT) AS click_count,
  prev_title AS previous_page_title
FROM live.clickstream_raw;

CREATE OR REFRESH LIVE TABLE top_spark_referers
COMMENT "A table containing the top pages linking to the Apache Spark page."
AS SELECT
  previous_page_title as referrer,
  click_count
FROM live.clickstream_prepared
WHERE current_page_title = 'Apache_Spark'
ORDER BY click_count DESC
LIMIT 10;

Skapa en pipeline

Så här skapar du en ny pipeline med notebook-filen Delta Live Tables:

  1. Klicka på Jobs IconArbetsflöden i sidofältet, klicka på fliken Delta Live Tables och klicka på Skapa pipeline.
  2. Ge pipelinen ett namn och klicka File Picker Icon för att välja en anteckningsbok.
  3. Du kan också ange en lagringsplats för utdata från pipelinen. Systemet använder en standardplats om du lämnar Storage Plats tom.
  4. Välj Utlös förPipeline-läge.
  5. Klicka på Skapa.

Systemet visar sidan Pipelineinformation när du har klickat på Skapa. Du kan också komma åt din pipeline genom att klicka på pipelinenamnet på fliken Delta Live Tables (Delta Live Tables ).

Starta pipelinen

Starta en uppdatering för den nya pipelinen genom att Delta Live Tables Start Icon klicka på knappen i den översta panelen. Systemet returnerar ett meddelande som bekräftar att pipelinen startar.

Start pipeline

När uppdateringen har startats kan du använda Delta Live Tables-systemet:

  1. Startar ett kluster med en klusterkonfiguration som skapats av Delta Live Tables-systemet. Du kan också ange en anpassad klusterkonfiguration.
  2. Skapar tabeller som inte finns och ser till att schemat är korrekt för befintliga tabeller.
  3. Uppdaterar tabeller med de senaste tillgängliga data.
  4. Stänger av klustret när uppdateringen är klar.

Du kan spåra förloppet för uppdateringen genom att visa händelseloggen längst ned på sidan Pipelineinformation .

View pipeline event log

Visa resultat

Du kan använda Delta Live Tables-användargränssnittet för att visa information om pipelinebearbetning. Detta inkluderar en visuell vy över pipelinediagrammet och scheman samt information om postbearbetning, till exempel antalet bearbetade poster och poster som inte kan valideras.

Visa pipelinediagrammet

Om du vill visa bearbetningsdiagrammet för din pipeline klickar du på fliken Graph. Du kan använda musen för att justera vyn eller knapparna Delta Live Tables Graph Buttons Icon i det övre högra hörnet på grafpanelen.

View pipeline graph

Visa datauppsättningsinformation

Klicka på en datauppsättning för att visa schemainformation för datauppsättningen.

View pipeline schema

Visa bearbetningsinformation

Du kan visa bearbetningsinformation för varje datauppsättning, till exempel antalet bearbetade poster och mått för datakvalitet. I händelseloggen längst ned på sidan Pipelineinformation väljer du posten Slutförd för en datauppsättning och klickar på fliken JSON .

View event log details

Visa pipelineinställningar

Klicka på fliken Inställningar för att visa den genererade konfigurationen för din pipeline. Klicka på knappen Inställningar för att ändra pipelinekonfigurationen. Mer information om konfigurationsinställningar finns i Delta Live Tables-inställningar .

Publicera datauppsättningar

Du kan göra pipelineutdata tillgängliga för frågor genom att publicera tabeller till Azure Databricks metaarkiv:

  1. Klicka på knappen Inställningar.

  2. Lägg till målinställningen för att konfigurera ett databasnamn för dina tabeller.

    Configure database name

  3. Klicka på Spara.

  4. Delta Live Tables Start Icon Klicka på knappen för att starta en ny uppdatering för din pipeline.

När uppdateringen är klar kan du visa databasen och tabellerna, fråga efter data eller använda data i underordnade program.

Query wikipedia data

Exempel på notebook-filer

Dessa notebook-filer innehåller Python och SQL exempel som implementerar en Delta Live Tables-pipeline för att:

  • Läs råa JSON-klickströmsdata i en tabell.
  • Läs posterna från rådatatabellen och använd Delta Live Tables-förväntningar för att skapa en ny tabell som innehåller rensade data.
  • Använd posterna från den rensade datatabellen för att skapa Delta Live Tables-frågor som skapar härledda datauppsättningar.

Kom igång med Delta Live Tables Python notebook-fil

Hämta notebook-fil

Kom igång med Delta Live Tables SQL notebook-fil

Hämta notebook-fil

Hitta fler exempelanteckningsböcker på _.