Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
In diesem Artikel wird beschrieben, wie Pipelines migriert werden, die das LIVE virtuelle Schema (den Legacyveröffentlichungsmodus) zum Standardmäßigen Veröffentlichungsmodus verwenden.
Der Standardveröffentlichungsmodus ermöglicht es einer einzelnen Pipeline, in mehrere Kataloge und Schemas zu schreiben, und enthält eine vereinfachte Syntax zum Arbeiten mit Tabellen und Ansichten in der Pipeline. Der Legacy-Veröffentlichungsmodus gilt als veraltet, und Databricks empfiehlt, alle Pipelines in den Standardveröffentlichungsmodus zu migrieren.
Die Migration wirkt sich auf die Metadaten der Pipeline aus, jedoch werden dabei keine Datensätze gelesen, verschoben oder geschrieben.
So erkennen Sie, ob Ihre Pipeline den Legacy-Veröffentlichungsmodus verwendet
Legacy-Publishing-Mode-Pipelines werden im Summary-Feld der Einstellungen-Benutzeroberfläche von Lakeflow Spark Declarative Pipelines angezeigt.
Überlegungen zur Migration zum Standardveröffentlichungsmodus
Die folgenden Hinweise sind hilfreich, um während der Migration zu berücksichtigen:
- Nachdem eine Pipeline zum Standardmäßigen Veröffentlichungsmodus migriert wurde, kann sie nicht zurück zur Verwendung des
LIVEvirtuellen Schemas migriert werden. - Möglicherweise müssen Sie Ihre Pipeline für die Migration vorbereiten, indem Sie alle Syntaxänderungen zwischen den Legacy- und standardveröffentlichungsmodi behandeln. Die meisten Pipelines erfordern keine Änderungen. Ausführliche Informationen finden Sie unter Vorbereiten von Pipelines für die Migration.
- Die Migration wirkt sich nur auf Metadaten aus. Es werden keine Datasets gelesen, verschoben oder beschrieben.
- Im Standardmäßigen Veröffentlichungsmodus können materialisierte Ansichten und Streamingtabellen nach der Erstellung nicht über Schemas verschoben werden.
- Der Standardmäßige Veröffentlichungsmodus erfordert Databricks CLI-Version v0.230.0 oder höher. Siehe Installieren oder Aktualisieren der Databricks CLI.
Migrieren zum Standardveröffentlichungsmodus
Führen Sie die folgenden Schritte aus, um zum Standardmäßigen Veröffentlichungsmodus zu migrieren.
Klicken Sie in Ihrem Arbeitsbereich auf Aufträge und Pipelines auf der linken Randleiste.
Klicken Sie auf den Namen der Pipeline, die Sie in der Liste migrieren möchten.
Halten Sie Aktualisierungen an und lassen Sie jede aktuell ausgeführte Pipeline anhalten.
Mindestens ein Update muss innerhalb der letzten 60 Tage vor Abschluss der Migration ausgeführt werden. Wenn die Pipeline ausgelöst oder bereits angehalten wurde, führen Sie manuell ein einzelnes Update aus. Wenn die Pipeline fortlaufend ist, stellen Sie sicher, dass sie in den
RUNNINGZustand gelangt (oder sich bereits befindet), und halten Sie dann an.Bereiten Sie optional jeden Code vor, der möglicherweise migriert werden muss.
Der Standardmäßige Veröffentlichungsmodus ist im Allgemeinen abwärtskompatibel mit dem Legacy-Veröffentlichungsmodus, aber stellen Sie sicher, dass Sie Die Pipeline für die Migration ordnungsgemäß vorbereiten , damit der Pipelinecode beim Upgrade ordnungsgemäß ausgeführt wird. Die meisten Pipelines benötigen keine Änderungen.
Fügen Sie eine Konfiguration in der Pipeline-Einstellungen hinzu:
pipelines.enableDPMForExistingPipeline, festgelegt auftrue.Starten Sie ein manuelles Update, und lassen Sie das Update abschließen.
Entfernen Sie optional in den Pipelineeinstellungen die Pipelinekonfiguration für
pipelines.enableDPMForExistingPipeline. Diese Einstellung wird für die Migration verwendet und nach Abschluss der Migration nicht benötigt.Aktualisieren Sie bei Bedarf den Zeitplan, und aktivieren Sie Pipelineupdates.
Der Standardmäßige Veröffentlichungsmodus ist jetzt in der Pipeline aktiviert. Wenn Probleme angezeigt werden, verwenden Sie den nächsten Abschnitt, um die Problembehandlung zu unterstützen. Wenn Probleme weiterhin bestehen, wenden Sie sich an Ihren Databricks Account Manager.
Vorbereiten von Pipelines für die Migration
Der Standardmäßige Veröffentlichungsmodus ist im Allgemeinen abwärtskompatibel mit dem Legacy-Veröffentlichungsmodus, aber einige Pipelines müssen möglicherweise für die Ausführung geändert werden. Die folgenden Hinweise können Ihnen bei der Vorbereitung Ihrer Pipelines für die Migration helfen.
Das schlüsselwort LIVE
Das Schlüsselwort LIVE im veralteten Veröffentlichungsmodus qualifiziert den Katalog und das Schema des Objekts mit den Pipeline-Standardwerten. Der Standardmäßige Veröffentlichungsmodus verwendet das LIVE Schlüsselwort nicht mehr, um Tabellen oder Ansichten zu qualifizieren. Das LIVE Schlüsselwort wird ignoriert und durch den Standardkatalog und das Standardschema für die Pipeline ersetzt. Allgemein werden dabei derselbe Standardkatalog und dasselbe Standardschema wie beim Schlüsselwort LIVE im veralteten Veröffentlichungsmodus verwendet, es sei denn, Sie fügen Ihrer Pipeline später USE CATALOG oder USE SCHEMA Befehle hinzu.
Im Legacy-Veröffentlichungsmodus verwenden teilweise qualifizierte Tabellen- und Ansichtsverweise ohne das LIVE-Schlüsselwort (z. B. table1) die Standardwerte von Spark. Im Standardveröffentlichungsmodus verwenden teilweise qualifizierte Referenzen die Pipeline-Vorgaben. Wenn Ihre Spark-Standardwerte und Pipelines unterschiedlich sind, sollten Sie den Namen einer teilweise qualifizierten Tabelle oder Ansicht vollständig qualifizieren, bevor Sie die Migration durchführen.
Hinweis
Nach der Migration können Sie das LIVE Schlüsselwort aus Ihrem Code entfernen. Optional können Sie das LIVE Schlüsselwort durch vollqualifizierte Tabellen- oder Ansichtsnamen ersetzen.
Spaltenverweise mit dem LIVE Schlüsselwort
Sie können das LIVE Schlüsselwort nicht verwenden, um Spalten im Standardmäßigen Veröffentlichungsmodus zu definieren. Beispiel für diesen Code:
CREATE OR REPLACE MATERIALIZED VIEW target AS SELECT LIVE.source.id FROM LIVE.source;
muss vor der Migration durch die folgenden Anforderungen ersetzt werden:
CREATE OR REPLACE MATERIALIZED VIEW target AS SELECT source.id FROM LIVE.source;
Diese Version funktioniert in beiden Veröffentlichungsmodi.
Änderungen am flow_progress Ereignis
Durch die Migration Ihrer Pipeline wird der Datasetname für das flow_progress Ereignis im Ereignisprotokoll geändert. Wenn Sie Abfragen im Ereignisprotokoll für diese Pipeline haben, müssen Sie Ihre Abfrage möglicherweise aktualisieren.
Im Legacy-Veröffentlichungsmodus ist der Datenmengenname der table Name. Im standardmäßigen Veröffentlichungsmodus ist der Dataset-Name der vollqualifizierte catalog.schema.table Name.
Ausführliche Informationen zur Verwendung des Ereignisprotokolls finden Sie unter Pipeline-Ereignisprotokoll.
Warnungen im Vergleich zu Fehlern
Einige Warnungen im Legacy-Veröffentlichungsmodus wurden durch Fehler im Standardveröffentlichungsmodus ersetzt.
Selbstverweise Ein Selbstverweis (oder Zirkelbezug) ist im standardmäßigen Veröffentlichungsmodus nicht zulässig (und führte zu undefinierten Ergebnissen im Legacy-Veröffentlichungsmodus). Beispiel:
CREATE OR REPLACE MATERIALIZED VIEW table1 AS SELECT * FROM target_catalog.target_schema.table1;
würde eine Warnung im Legacy-Veröffentlichungsmodus (und nicht definierte Ergebnisse) generieren. Im Standardmäßigen Veröffentlichungsmodus wird ein Fehler generiert.
Mehrteilige Namen Im Standardveröffentlichungsmodus (mehrteilige Namen) können Sie keine Punkte in Namen verwenden. Der folgende Python-Code ist beispielsweise im Legacymodus gültig, aber nicht im Standardmodus:
@dlt.view(name=”a.b.c”)
def transform():
return …
Benennen Sie die Tabelle vor der Migration in einen Namen um, der kein Punktzeichen enthält.
Hinweis
In diesem Beispiel wird auch eine ältere Syntax verwendet. @dlt.view Databricks empfiehlt die Verwendung @dp.temporary_view() für Pipelines. Weitere Informationen finden Sie in der Sprachreferenz "Lakeflow Spark Declarative Pipelines Python"
Problembehandlung
In der folgenden Tabelle werden Fehler beschrieben, die beim Migrieren vom älteren Veröffentlichungsmodus auftreten können.
| Fehler | Description |
|---|---|
CANNOT_MIGRATE_HMS_PIPELINE |
Die Migration wird für Hive-Metastore-Pipelines nicht unterstützt. Alternativ können Sie die Pipeline vor der Migration aus dem Hive-Metastore in den Unity-Katalog klonen. Siehe Erstellen einer Unity-Katalogpipeline durch Klonen einer Hive-Metastore-Pipeline. |
MISSING_EXPECTED_PROPERTY |
Dieser Fehler weist darauf hin, dass Sie vor dem Hinzufügen der pipelines.enableDPMForExistingPipeline Konfiguration kein kürzlich ausgeführtes Update ausgeführt haben. Entfernen Sie diese Konfiguration und fügen Sie, falls sie fehlt, die pipelines.setMigrationHints Konfiguration hinzu, und stellen Sie sie auf true ein. Führen Sie ein Update aus, und fahren Sie dann mit Schritt 3 fort. |
PIPELINE_INCOMPATIBLE_WITH_DPM |
Dieser Fehler gibt an, dass Ihr Pipelinecode nicht vollständig mit dem Standardveröffentlichungsmodus kompatibel ist. Siehe Vorbereiten von Pipelines für die Migration. |