Von Legacy-Dataform migrieren

Das Legacy-Dataform wird am 26. Februar 2024 eingestellt. Danach können Sie nicht mehr auf Legacy-Projekte zugreifen. In diesem Dokument werden die Unterschiede zwischen Legacy-Dataform und Dataform in Google Cloud beschrieben und Sie erfahren, wie Sie ein Dataform-Legacy-Projekt in Dataform in Google Cloud importieren.

Unterschiede zwischen Legacy-Dataform und Dataform in Google Cloud

Dataform ist ein serverloser Dienst für Datenanalysten zum Entwickeln und Bereitstellen von Tabellen, inkrementellen Tabellen oder Ansichten in BigQuery. Dataform bietet eine Webumgebung für die SQL-Workflowentwicklung, Verbindungen mit GitHub, GitLab, Bitbucket und Azure DevOps Services sowie Continuous Integration, Continuous Deployment und Workflowausführung.

Dataform in Google Cloud unterscheidet sich in den folgenden Punkten von Legacy-Dataform:

  • Dataform in Google Cloud unterstützt das Verbinden von Dataform-Repositories mit Bitbucket-Repositories.
  • Die Zugriffssteuerung basiert auf IAM.
  • Die Konfiguration eines Limits für die Nebenläufigkeit von Abfragen (concurrentQueryLimit) in der Workflow-Einstellungsdatei wird entfernt.

    Im Legacy-Dataform-System verhinderten Gleichzeitigkeitslimits, dass Dataform zu viele Abfragen gleichzeitig an BigQuery sendet. Zum Verwalten der Nebenläufigkeit in Dataform in Google Cloud empfehlen wir, BigQuery-Abfragewarteschlangen zu aktivieren.

  • Legacy-Umgebungen werden durch Releasekonfigurationen ersetzt.

  • Legacy-Zeitpläne werden durch Workflowkonfigurationen ersetzt.

  • Benachrichtigungen zu Workflow-Fehlern werden in Cloud Logging konfiguriert.

  • Dataform in Google Cloud und Legacy-Dataform verwenden unterschiedliche npm-Versionen und unterschiedliche Formate von package-lock.json.

    Wenn Sie einen SQL-Workflow sowohl in Legacy-Dataform als auch in Dataform in Google Cloud entwickeln möchten, verwenden Sie für die Paketinstallation das Legacy-Format package-lock.json. Installieren Sie erst dann Pakete in Dataform in Google Cloud, wenn Sie vollständig zu Dataform in Google Cloud migriert sind.

Weitere Informationen zu den Features von Dataform in Google Cloud finden Sie unter Überblick über die Dataform-Features.

Legacy-Dataform-Features werden in Google Cloud derzeit nicht unterstützt

Die folgenden Features der Legacy-Dataform-Version werden derzeit in Dataform in Google Cloud nicht unterstützt:

  • Manuelle Ausführung von Einheitentests
  • Suche nach Dateiinhalten in Entwicklungsarbeitsbereichen.

Diese Liste wird laufend aktualisiert, wenn neue Dataform-Features in Google Cloud veröffentlicht werden.

Bekannte Einschränkungen

Für Dataform in Google Cloud gelten die folgenden bekannten Einschränkungen:

  • Dataform in Google Cloud wird in einer einfachen V8-Laufzeit ausgeführt und unterstützt keine zusätzlichen Funktionen und Module, die von Node.js bereitgestellt werden. Wenn für die vorhandene Codebasis Node.js-Module erforderlich sind, müssen Sie diese Abhängigkeiten entfernen.

    Projekte ohne Namensfeld in package.json generieren bei jeder Installation von Paketen Unterschiede in package-lock.json. Um dies zu vermeiden, müssen Sie ein name-Attribut in package.json einfügen.

  • git und https:// URLs für Abhängigkeiten in package.json werden nicht unterstützt.

    Konvertieren Sie solche URLs in einfache https://-Archiv-URLs. Konvertieren Sie beispielsweise git+https://github.com/dataform-co/dataform-segment.git#1.5 in https://github.com/dataform-co/dataform-segment/archive/1.5.tar.gz.

Hinweise

  1. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. BigQuery and Dataform APIs aktivieren.

    Aktivieren Sie die APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  7. BigQuery and Dataform APIs aktivieren.

    Aktivieren Sie die APIs

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Dataform Admin (roles/dataform.admin) für Repositories zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Importieren eines Legacy-Projekts benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Möglicherweise können Sie die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Legacy-Projekt importieren

Führen Sie in der Google Cloud Console die folgenden Schritte aus, um ein Legacy-Projekt in Dataform in Google Cloud zu importieren:

  1. Prüfen Sie, ob Ihr Dataform-Projekt in app.dataform.co mit GitHub oder GitLab verbunden ist.
  2. Öffnen Sie in der Google Cloud Console die Seite Dataform.

    Zur Seite „Dataform“

  3. Erstellen Sie ein neues Repository.

  4. Verbinden Sie das Repository mit dem Remote-Git-Repository, das Ihr Legacy-Projekt enthält.

Importiertes Dataform-Projekt konfigurieren

So passen Sie Ihr Legacy-Projekt an Dataform in Google Cloud an:

  1. Öffnen Sie in der Google Cloud Console die Seite Dataform.

    Zur Seite „Dataform“

  2. Wählen Sie Ihr Repository aus.

  3. Erstellen Sie einen Entwicklungsarbeitsbereich.

  4. Rufen Sie den Entwicklungsarbeitsbereich auf.

  5. Geben Sie in der Datei mit den Workfloweinstellungen einen Standardspeicherort an.

workflow_settings.yaml

Fügen Sie den Parameter defaultLocation im folgenden Format hinzu:

defaultLocation: DATASET_LOCATION,

Ersetzen Sie DATASET_LOCATION durch den Standardspeicherort Ihres BigQuery-Datasets, z. B. US, EU oder us-east1.

Der Parameter defaultLocation wird von app.dataform.co ignoriert.

dataform.json

Fügen Sie den Parameter defaultLocation im folgenden Format hinzu:

"defaultLocation": "DATASET_LOCATION",

Ersetzen Sie DATASET_LOCATION durch den Standardspeicherort Ihres BigQuery-Datasets, z. B. US, EU oder us-east1.

Der Parameter defaultLocation wird von app.dataform.co ignoriert.

  1. Löschen Sie package-lock.json.
  2. Führen Sie in package.json die folgenden Schritte aus:

    1. Führen Sie ein Upgrade von @dataform/core auf 3.0.0-beta.2 oder höher durch.
    2. Fügen Sie einen Paketnamen im folgenden Format hinzu:

      {
          "name": "PACKAGE_NAME",
          "dependencies": {
              "@dataform/core": "^3.0.0-beta.2"
          }
      }
      

      Ersetzen Sie PACKAGE_NAME durch einen Namen für das Dataform-Paket, z. B. Ihren Projektnamen.

    3. Konvertieren Sie git+https://-URLs in package.json-Abhängigkeiten in einfache https://-Archiv-URLs.

      Konvertieren Sie beispielsweise git+https://github.com/dataform-co/dataform-segment.git#1.5 in https://github.com/dataform-co/dataform-segment/archive/1.5.tar.gz.

      Wenn Sie git+https://-URLs in vordefinierten Dataform-Paketen verwenden, lesen Sie die aktualisierte Installationsanleitung für diese Pakete auf den Releaseseiten, z. B. auf der Releaseseite für Dataform-Segment.

  3. Konfigurieren Sie die BigQuery-Berechtigungen und Nutzerberechtigungen.

  4. Migrieren Sie Umgebungen von environments.json zu Releasekonfigurationen.

  5. Migrieren Sie Zeitpläne von environments.json zu Workflowkonfigurationen.

  6. Benachrichtigungen mit Cloud Logging konfigurieren

Nächste Schritte