Snabbstart för Delta Live Tables

Viktigt

Den här funktionen finns som allmänt tillgänglig förhandsversion. Kontakta din Databricks-representant om du vill begära åtkomst.

Du kan enkelt skapa och köra en Delta Live Tables-pipeline med en Azure Databricks notebook-dator. 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 JSON-råklickströmsdata till en tabell.
  • Läs posterna från rådatatabellen och använd Förväntningar på Delta Live-tabeller 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-tabeller-frågor som skapar härledda datauppsättningar.

I den här snabbstarten kommer du att:

  1. Skapa en ny notebook och lägg till koden för att implementera pipelinen.
  2. Skapa ett nytt pipelinejobb med notebook-anteckningsboken.
  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 din pipeline och misslyckas om du inte har rätt behörigheter.

Skapa en notebook-fil

Du kan använda en exempel-notebook-exempel eller skapa en ny notebook 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ämna Kluster inställt på standardvärdet. Delta Live Tables-körningen skapar ett kluster innan den kör din pipeline.

  3. Klicka på Skapa.

  4. Kopiera Python- eller SQL-kodexempel och klistra in det i den nya notebook-filen. Du kan lägga till exempelkoden i en enskild cell i anteckningsboken eller i flera celler.

    Anteckning

    Du måste starta din pipeline från fliken Pipelines i användargränssnittet för Jobb. Om  du klickar på Ikonen Kör 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.create_table(
  comment="The raw wikipedia click stream dataset, ingested from /databricks-datasets.",
  table_properties={
    "quality": "bronze"
  }
)
def clickstream_raw():
  return (
    spark.read.json(json_path)
  )

@dlt.create_table(
  comment="Wikipedia clickstream dataset with cleaned-up datatypes / column names and quality expectations.",
  table_properties={
    "quality": "silver"
  }
)
@dlt.expect("valid_current_page", "current_page_id IS NOT NULL AND current_page_title IS NOT NULL")
@dlt.expect_or_fail("valid_count", "click_count > 0")
def clickstream_clean():
  return (
    dlt.read("clickstream_raw")
      .withColumn("current_page_id", expr("CAST(curr_id AS INT)"))
      .withColumn("click_count", expr("CAST(n AS INT)"))
      .withColumn("previous_page_id", expr("CAST(prev_id AS INT)"))
      .withColumnRenamed("curr_title", "current_page_title")
      .withColumnRenamed("prev_title", "previous_page_title")
      .select("current_page_id", "current_page_title", "click_count", "previous_page_id", "previous_page_title")
  )

@dlt.create_table(
  comment="A table of the most common pages that link to the Apache Spark page.",
  table_properties={
    "quality": "gold"
  }
)
def top_spark_referrers():
  return (
    dlt.read("clickstream_clean")
      .filter(expr("current_page_title == 'Apache_Spark'"))
      .withColumnRenamed("previous_page_title", "referrer")
      .sort(desc("click_count"))
      .select("referrer", "click_count")
      .limit(10)
  )

@dlt.create_table(
  comment="A list of the top 50 pages by number of clicks.",
  table_properties={
    "quality": "gold"
  }
)
def top_pages():
  return (
    dlt.read("clickstream_clean")
      .groupBy("current_page_title")
      .agg(sum("click_count").alias("total_clicks"))
      .sort(desc("total_clicks"))
      .limit(50)
  )

SQL

CREATE LIVE TABLE clickstream_raw
COMMENT "The raw wikipedia click stream dataset, ingested from /databricks-datasets."
TBLPROPERTIES ("quality" = "bronze")
AS SELECT * FROM json.`/databricks-datasets/wikipedia-datasets/data-001/clickstream/raw-uncompressed-json/2015_2_clickstream.json`

CREATE LIVE TABLE clickstream_clean(
  CONSTRAINT valid_current_page EXPECT (current_page_id IS NOT NULL and current_page_title IS NOT NULL),
  CONSTRAINT valid_count EXPECT (click_count > 0) ON VIOLATION FAIL UPDATE
)
COMMENT "Wikipedia clickstream dataset with cleaned-up datatypes / column names and quality expectations."
TBLPROPERTIES ("quality" = "silver")
AS SELECT
  CAST (curr_id AS INT) AS current_page_id,
  curr_title AS current_page_title,
  CAST(n AS INT) AS click_count,
  CAST (prev_id AS INT) AS previous_page_id,
  prev_title AS previous_page_title
FROM live.clickstream_raw

CREATE LIVE TABLE top_spark_referers
COMMENT "A table of the most common pages that link to the Apache Spark page."
TBLPROPERTIES ("quality" = "gold")
AS SELECT
  previous_page_title as referrer,
  click_count
FROM live.clickstream_clean
WHERE current_page_title = 'Apache_Spark'
ORDER BY click_count DESC
LIMIT 10

CREATE LIVE TABLE top_pages
COMMENT "A list of the top 50 pages by number of clicks."
TBLPROPERTIES ("quality" = "gold")
AS SELECT
  current_page_title,
  SUM(click_count) as total_clicks
FROM live.clickstream_clean
GROUP BY current_page_title
ORDER BY 2 DESC
LIMIT 50

Skapa en pipeline

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

  1. Klicka  på jobbikonen Jobb i sidofältet, klicka på fliken Pipelines och klicka på Skapa pipeline.
  2. Ge pipelinen ett namn och ange den fullständiga sökvägen till anteckningsboken.
  3. Du kan också ange en lagringsplats för utdata från pipelinen. Systemet använder en standardplats om du lämnar Lagringsplats tom.
  4. Välj Utlöst för Pipeline-läge.
  5. Klicka på Skapa.

Skapa pipeline

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 Pipeliner.

Starta pipelinen

Om du vill starta en uppdatering för den nya pipelinen klickar du på Startikon för Delta Live-tabeller på den översta panelen. Systemet returnerar ett meddelande som bekräftar att pipelinen startas.

Starta pipeline

När uppdateringen har börjat fungerar Delta Live Tables-systemet:

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

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

Visa händelselogg för pipeline

Visa resultat

Du kan använda användargränssnittet för Delta Live Tables 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 Diagram. Du kan använda musen för att justera knapparna Visa eller Diagramknappar för Delta Live-tabeller i det  övre högra hörnet på diagrampanelen.

Visa pipelinediagram

Visa datauppsättningsinformation

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

Visa pipelineschema

Visa bearbetningsinformation

Om du vill visa bearbetningsinformation, inklusive antalet bearbetade poster och mått för datakvalitet, väljer du en post i händelseloggen och klickar på fliken JSON.

Visa händelselogginformation

Visa pipelineinställningar

Klicka på fliken Inställningar för att visa den genererade konfigurationen för din pipeline. Klicka på knappen Redigera inställningar för att ändra pipelinekonfigurationen. Se Delta Live Tables-konfiguration för information om konfigurationsinstä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 Redigera inställningar.

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

    Konfigurera databasnamn

  3. Klicka på Spara

  4. Klicka på Startikon för Delta Live-tabeller 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.

Köra frågor mot Wikipedia-data

Exempelanteckningsböcker

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

  • Läs JSON-råa klickströmsdata till en tabell.
  • Läs posterna från rådatatabellen och använd Förväntningar på Delta Live-tabeller 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-tabeller-frågor som skapar härledda datauppsättningar.

Kom igång med Python-anteckningsboken Delta Live Tables

Hämta notebook-fil

Kom igång med SQL-anteckningsboken Delta Live Tables

Hämta notebook-fil