Migrazione dalla versione precedente di Dataform

Dataform legacy verrà ritirato il 26 febbraio 2024. Trascorso questo periodo non potrai più accedere ai progetti precedenti. Questo documento descrive le differenze tra Dataform legacy e Dataform in Google Cloud e mostra come importare un progetto Dataform legacy in Dataform in Google Cloud.

Informazioni sulle differenze tra Dataform legacy e Dataform in Google Cloud

Dataform è un servizio serverless che consente agli analisti di dati di sviluppare ed eseguire il deployment di tabelle, tabelle incrementali o viste in BigQuery. Dataform offre un ambiente web per lo sviluppo di flussi di lavoro SQL, la connessione con GitHub, GitLab, Bitbucket e Azure DevOps Services, integrazione continua, deployment continuo ed esecuzione del flusso di lavoro.

Dataform in Google Cloud è diverso da Dataform legacy per i seguenti aspetti:

  • Dataform in Google Cloud supporta la connessione dei repository Dataform ai repository Bitbucket.
  • Il controllo dell'accesso è basato su IAM.
  • La configurazione di un limite di contemporaneità delle query (concurrentQueryLimit) in workflow_settings.yaml è stata rimossa.

    Nella versione legacy di Dataform, i limiti di contemporaneità impedivano a Dataform di inviare troppe query in parallelo a BigQuery. Per gestire la contemporaneità in Dataform in Google Cloud, consigliamo di abilitare le code di query di BigQuery.

  • Gli ambienti legacy vengono sostituiti dalle configurazioni di release.

  • Le pianificazioni legacy sono sostituite dalle configurazioni del flusso di lavoro.

  • Gli avvisi di errore del flusso di lavoro sono configurati in Cloud Logging.

  • Dataform in Google Cloud e nella versione precedente di Dataform utilizzano diverse versioni di Gestione dei partner di rete e diversi formati di package-lock.json.

    Per sviluppare un flusso di lavoro SQL sia nella versione legacy di Dataform che in quella in Dataform in Google Cloud, utilizza il formato package-lock.json legacy per l'installazione dei pacchetti. Non installare pacchetti in Dataform in Google Cloud finché non avrai eseguito la migrazione completa a Dataform in Google Cloud.

Per ulteriori informazioni sulle funzionalità di Dataform in Google Cloud, consulta la panoramica delle funzionalità di Dataform.

Funzionalità legacy Dataform al momento non supportate in Google Cloud

Le seguenti funzionalità della versione precedente di Dataform non sono attualmente supportate in Dataform in Google Cloud:

  • Esecuzione manuale dei test delle unità.
  • Ricerca di contenuti dei file nelle aree di lavoro di sviluppo.

Questo elenco verrà aggiornato continuamente man mano che verranno rilasciate nuove funzionalità di Dataform in Google Cloud.

Limitazioni note

Dataform in Google Cloud ha le seguenti limitazioni note:

  • Dataform in Google Cloud viene eseguito su un runtime V8 semplice e non supporta funzionalità e moduli aggiuntivi forniti da Node.js. Se il codebase esistente richiede moduli Node.js, devi rimuovere queste dipendenze.

    I progetti senza un campo del nome in package.json generano differenze in package-lock.json ogni volta che vengono installati pacchetti. Per evitare che ciò accada, devi aggiungere una proprietà name in package.json.

  • git+https:// URL per le dipendenze in package.json non sono supportati.

    Converti questi URL in URL di archiviazione https:// semplici. Ad esempio, converti git+https://github.com/dataform-co/dataform-segment.git#1.5 in https://github.com/dataform-co/dataform-segment/archive/1.5.tar.gz.

Prima di iniziare

  1. Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  4. Abilita le API BigQuery and Dataform.

    Abilita le API

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

    Go to project selector

  6. Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.

  7. Abilita le API BigQuery and Dataform.

    Abilita le API

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per importare un progetto legacy, chiedi all'amministratore di concederti il ruolo IAM Amministratore Dataform (roles/dataform.admin) sui repository. Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.

Potresti anche essere in grado di ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Importa un progetto precedente

Per importare un progetto legacy in Dataform in Google Cloud, segui questi passaggi nella console Google Cloud:

  1. Assicurati che il tuo progetto Dataform in app.dataform.co sia connesso a GitHub o GitLab.
  2. Nella console Google Cloud, vai alla pagina Dataform.

    Vai alla pagina Dataform

  3. Crea un nuovo repository.

  4. Connetti il repository al repository Git remoto che ospita il tuo progetto legacy.

Configurare il progetto Dataform importato

Per adattare il tuo progetto legacy a Dataform in Google Cloud, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina Dataform.

    Vai alla pagina Dataform

  2. Seleziona il repository.

  3. Crea un'area di lavoro di sviluppo.

  4. Vai all'area di lavoro di sviluppo.

  5. In workflow_settings.yaml, aggiungi il parametro defaultLocation. Questo parametro è ignorato da app.dataform.co.

    "defaultLocation": "DATASET_LOCATION",
    

    Sostituisci DATASET_LOCATION con la località predefinita del tuo set di dati BigQuery, ad esempio US, EU o us-east1.

  6. Elimina package-lock.json.

  7. In package.json, procedi nel seguente modo:

    1. Esegui l'upgrade di @dataform/core a 3.0.0-beta.2 o a una versione successiva.
    2. Aggiungi un nome di pacchetto nel seguente formato:

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

      Sostituisci PACKAGE_NAME con un nome per il pacchetto Dataform, ad esempio il nome del progetto.

    3. Converti git+https:// URL nelle dipendenze package.json in URL di archiviazione https:// semplici.

      Ad esempio, converti git+https://github.com/dataform-co/dataform-segment.git#1.5 in https://github.com/dataform-co/dataform-segment/archive/1.5.tar.gz.

      Se utilizzi URL git+https:// in pacchetti Dataform predefiniti, consulta le istruzioni di installazione aggiornate per questi pacchetti nelle relative pagine di release, ad esempio la pagina di rilascio dataform-segment.

  8. Configura le autorizzazioni BigQuery e le autorizzazioni utente.

  9. Esegui la migrazione degli ambienti da environments.json alle configurazioni di release.

  10. Esegui la migrazione delle pianificazioni da environments.json alle configurazioni del flusso di lavoro.

  11. Configura gli avvisi utilizzando Cloud Logging.

Passaggi successivi