Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Den här artikeln beskriver hur du migrerar pipelines som använder det LIVE virtuella schemat (det äldre publiceringsläget) till standardpubliceringsläget.
Med standardpubliceringsläget kan en enda pipeline skriva till flera kataloger och scheman och innehåller en förenklad syntax för att arbeta med tabeller och vyer i pipelinen. Det äldre publiceringsläget anses vara inaktuellt och Databricks rekommenderar att du migrerar alla pipelines till standardpubliceringsläget.
Migreringen påverkar pipelinens metadata, men läser, flyttar eller skriver inte till några datauppsättningar.
Så här ser du om din pipeline använder det äldre publiceringsläget
Pipelines för äldre publiceringsläge anges i fältet Sammanfattning i användargränssnittet för inställningarna för Lakeflow Spark Deklarativa pipelines.
Överväganden för att migrera till standardpubliceringsläget
Följande anteckningar är användbara att tänka på under migreringen:
- När en pipeline har migrerats till standardpubliceringsläget kan den inte migreras tillbaka till det
LIVEvirtuella schemat. - Du kan behöva förbereda pipelinen för migrering genom att hantera syntaxändringar mellan äldre och standardpubliceringslägen. De flesta pipelines kräver inga ändringar. Mer information finns i Förbereda pipelines för migrering.
- Migreringen påverkar endast metadata. Den läser, flyttar eller skriver inte till några datauppsättningar.
- I standardpubliceringsläget kan materialiserade vyer och strömmande tabeller inte flyttas mellan scheman när de har skapats.
- Standardpubliceringsläget kräver Databricks CLI version v0.230.0 eller senare. Se Installera eller uppdatera Databricks CLI.
Migrera till standardpubliceringsläget
Använd följande steg för att migrera till standardpubliceringsläget.
Klicka på Jobb och pipelines i det vänstra sidofältet på arbetsytan.
Klicka på namnet på den pipeline som du vill migrera i listan.
Pausa uppdateringar och låt alla pipelines som körs stoppas.
Minst en uppdatering måste ha körts under de senaste 60 dagarna innan migreringen har slutförts. Om pipelinen utlöses eller redan har pausats kör du en enskild uppdatering manuellt. Om pipelinen är kontinuerlig kontrollerar du att den kommer till (eller redan är i)
RUNNINGtillståndet och pausar sedan.Du kan också förbereda all kod som kan behöva migreras.
Standardpubliceringsläget är vanligtvis bakåtkompatibelt med det äldre publiceringsläget, men se till att förbereda pipelinen för migrering korrekt så att pipelinekoden körs korrekt när den uppgraderas. De flesta pipelines behöver inga ändringar.
Lägg till en konfiguration i pipelineinställningarna:
pipelines.enableDPMForExistingPipeline, inställd påtrue.Starta en manuell uppdatering och låt uppdateringen slutföras.
I pipelineinställningarna kan du också ta bort pipelinekonfigurationen för
pipelines.enableDPMForExistingPipeline. Den här inställningen används för migreringen och behövs inte när migreringen är klar.Om det behövs uppdaterar du schemat och aktiverar pipelineuppdateringar.
Standardpubliceringsläget är nu aktiverat på pipelinen. Om du ser problem använder du nästa avsnitt för att felsöka. Kontakta din Databricks-kontohanterare om problemen kvarstår.
Förbereda pipelines för migrering
Standardpubliceringsläget är vanligtvis bakåtkompatibelt med det äldre publiceringsläget, men vissa pipelines kan behöva ändras för att köras. Följande anteckningar kan hjälpa dig att förbereda dina pipelines för migrering.
Nyckelordet LIVE
Nyckelordet LIVE i det äldre publiceringsläget kvalificerar objektets katalog och schema med pipelinens standardvärden. Standardpubliceringsläget använder inte längre nyckelordet LIVE för att kvalificera tabeller eller vyer. Nyckelordet LIVE ignoreras och ersätts med standardkatalogen och schemat för pipelinen. I allmänhet används samma standardkatalog och schema som nyckelordet LIVE i det äldre publiceringsläget, såvida du inte senare lägger till USE CATALOG eller USE SCHEMA kommandon i pipelinen.
I det äldre publiceringsläget använder delvis kvalificerade tabell- och visningsreferenser utan nyckelordet LIVE (till exempel table1) Spark-standardvärdena. I standardpubliceringsläget använder delvis kvalificerade referenser standardvärdena för pipelinen. Om dina Spark-standardvärden och pipelines skiljer sig bör du fullständigt kvalificera namnet på en delvis kvalificerad tabell eller vy innan du migrerar.
Anmärkning
Efter migreringen kan du ta bort nyckelordet LIVE från koden. Du kan också ersätta nyckelordet LIVE med fullständigt kvalificerade tabell- eller visningsnamn.
Kolumnreferenser med nyckelordet LIVE
Du kan inte använda nyckelordet LIVE för att definiera kolumner i standardpubliceringsläget. Till exempel, den här koden:
CREATE OR REPLACE MATERIALIZED VIEW target AS SELECT LIVE.source.id FROM LIVE.source;
måste ersättas med följande före migreringen:
CREATE OR REPLACE MATERIALIZED VIEW target AS SELECT source.id FROM LIVE.source;
Den här versionen fungerar i båda publiceringslägen.
Ändringar i flow_progress händelse
Om du migrerar din pipeline ändras datauppsättningens namn för flow_progress händelsen i händelseloggen. Om du har frågor i händelseloggen för den här pipelinen kan du behöva uppdatera frågan.
I det äldre publiceringsläget är namnet på datamängden table. I standardpubliceringsläget är datauppsättningens namn det fullständigt kvalificerade catalog.schema.table namnet.
Mer information om hur du använder händelseloggen finns i Händelselogg för pipeline.
Varningar kontra fel
Vissa varningar i det äldre publiceringsläget har ersatts av fel i standardpubliceringsläget.
Självreferenser En självreferens (eller cirkelreferens) tillåts inte i standardpubliceringsläget (och har odefinierade resultat i det äldre publiceringsläget). Till exempel:
CREATE OR REPLACE MATERIALIZED VIEW table1 AS SELECT * FROM target_catalog.target_schema.table1;
skulle generera en varning i det äldre publiceringsläget (och ha odefinierade resultat). I standardpubliceringsläget genererar det ett fel.
Flerpartsnamn Du kan inte använda punkter i namn i standardpubliceringsläget (flerapartsnamn). Följande Python-kod är till exempel giltig i det äldre läget, men inte i standardläget:
@dlt.view(name=”a.b.c”)
def transform():
return …
Innan du migrerar byter du namn på tabellen till ett namn som inte innehåller ett periodtecken.
Anmärkning
I det här exemplet används även äldre syntax, @dlt.view. Databricks rekommenderar att använda @dp.temporary_view() för pipelines. Mer information finns i Språkreferens för Lakeflow Spark deklarativa Pipelines Python
Felsökning
I följande tabell beskrivs fel som kan inträffa när du migrerar från det äldre publiceringsläget.
| Error | Description |
|---|---|
CANNOT_MIGRATE_HMS_PIPELINE |
Migrering stöds inte för Hive metastore pipelines. Alternativt kanske du kan klona pipelinen från Hive-metaarkivet till Unity Catalog före migreringen. Se Skapa en Unity Catalog-pipeline genom att klona en Hive-metaarkivpipeline. |
MISSING_EXPECTED_PROPERTY |
Det här felet anger att du inte körde en ny uppdatering innan du lade till konfigurationen pipelines.enableDPMForExistingPipeline . Ta bort den konfigurationen och, om den saknas, lägg till pipelines.setMigrationHints-konfigurationen och ställ in den på true. Kör en uppdatering och fortsätt sedan från steg 3. |
PIPELINE_INCOMPATIBLE_WITH_DPM |
Det här felet anger att pipelinekoden inte är helt kompatibel med standardpubliceringsläget. Se Förbereda pipelines för migrering. |