Migrar do Dataform legado

O Dataform legado vai ser descontinuado em 26 de fevereiro de 2024. Depois disso, não será possível acessar os projetos legados. Neste documento, descrevemos as diferenças entre o Dataform legado e o Dataform no Google Cloud e mostramos como importar um projeto legado do Dataform para o Dataform no Google Cloud.

Sobre as diferenças entre o Dataform legado e o Dataform no Google Cloud

O Dataform é um serviço sem servidor para analistas de dados desenvolverem e implantarem tabelas, tabelas incrementais ou visualizações no BigQuery. O Dataform oferece um ambiente da Web para desenvolvimento de fluxos de trabalho SQL, conexão com os serviços do GitHub, GitLab, Bitbucket e Azure DevOps, integração contínua, implantação contínua e execução de fluxo de trabalho.

Confira abaixo as diferenças entre o Dataform no Google Cloud e o Dataform legado:

  • O Dataform no Google Cloud oferece suporte à conexão de repositórios do Dataform com repositórios do Bitbucket.
  • O controle de acesso é baseado no IAM.
  • A configuração de um limite de simultaneidade de consulta (concurrentQueryLimit) em workflow_settings.yaml foi removida.

    No Dataform legado, os limites de simultaneidade impediram que ele enviasse muitas consultas simultâneas ao BigQuery. Para gerenciar a simultaneidade no Dataform no Google Cloud, recomendamos ativar as filas de consulta do BigQuery.

  • Os ambientes legados foram substituídos por configurações de versão.

  • As programações legadas são substituídas pelas configurações do fluxo de trabalho.

  • Os alertas de falha no fluxo de trabalho são configurados no Cloud Logging.

  • O Dataform no Google Cloud e o Dataform legado usam versões diferentes do NPM e formatos distintos de package-lock.json.

    Para desenvolver um fluxo de trabalho SQL no Dataform e Dataform legados no Google Cloud, use o formato package-lock.json legado para a instalação de pacotes. Não instale pacotes no Dataform no Google Cloud até migrar totalmente para o Dataform no Google Cloud.

Para mais informações sobre os recursos do Dataform no Google Cloud, consulte Visão geral dos recursos do Dataform.

No momento, os recursos legados do Dataform não são compatíveis com o Google Cloud

No momento, os seguintes recursos do Dataform legado não são compatíveis com o Dataform no Google Cloud:

  • Execução manual de testes de unidade.
  • Pesquisar conteúdo de arquivo em espaços de trabalho de desenvolvimento.

Esta lista será atualizada continuamente à medida que novos recursos do Dataform no Google Cloud forem lançados.

Limitações conhecidas

O Dataform no Google Cloud tem as seguintes limitações conhecidas:

  • O Dataform no Google Cloud é executado em um ambiente de execução simples do V8 e não oferece suporte a outros recursos e módulos fornecidos pelo Node.js. Se a base de código atual exigir algum módulo Node.js, será necessário remover essas dependências.

    Projetos sem um campo de nome em package.json geram diferenças em package-lock.json sempre que os pacotes são instalados. Para evitar isso, é necessário adicionar uma propriedade name em package.json.

  • Não há suporte para os URLs git+https:// para dependências em package.json.

    Converta esses URLs em URLs de arquivo https:// simples. Por exemplo, converta git+https://github.com/dataform-co/dataform-segment.git#1.5 em https://github.com/dataform-co/dataform-segment/archive/1.5.tar.gz.

Antes de começar

  1. Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
  2. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  3. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  4. Ative as APIs BigQuery and Dataform.

    Ative as APIs

  5. No console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.

    Acessar o seletor de projetos

  6. Verifique se a cobrança está ativada para o seu projeto do Google Cloud.

  7. Ative as APIs BigQuery and Dataform.

    Ative as APIs

Funções exigidas

Para receber as permissões necessárias para importar um projeto legado, peça ao administrador para conceder a você o papel do IAM Administrador do Dataform (roles/dataform.admin) nos repositórios. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Importar um projeto legado

Para importar um projeto legado no Dataform no Google Cloud, siga estas etapas no console do Google Cloud:

  1. Verifique se o projeto do Dataform em app.dataform.co está conectado ao GitHub ou ao GitLab.
  2. No Console do Google Cloud, acesse a página Dataform.

    Acessar a página do Dataform

  3. Crie um novo repositório.

  4. Conecte o repositório ao repositório Git remoto que hospeda o projeto legado.

Configure seu projeto importado do Dataform

Para ajustar seu projeto legado para o Dataform no Google Cloud, siga estas etapas:

  1. No Console do Google Cloud, acesse a página Dataform.

    Acessar a página do Dataform

  2. Selecione seu Repositório.

  3. Crie um espaço de trabalho de desenvolvimento.

  4. Acesse o espaço de trabalho de desenvolvimento.

  5. Em workflow_settings.yaml, adicione o parâmetro defaultLocation. Esse parâmetro é ignorado pelo app.dataform.co.

    "defaultLocation": "DATASET_LOCATION",
    

    Substitua DATASET_LOCATION pelo local padrão do seu conjunto de dados do BigQuery, por exemplo, US, EU ou us-east1.

  6. Excluir package-lock.json.

  7. Em package.json, faça o seguinte:

    1. Faça upgrade de @dataform/core para 3.0.0-beta.2 ou mais recente.
    2. Adicione um nome de pacote no seguinte formato:

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

      Substitua PACKAGE_NAME por um nome para o pacote do Dataform, por exemplo, o nome do projeto.

    3. Converta URLs git+https:// em dependências de package.json em URLs de arquivo https:// simples.

      Por exemplo, converta git+https://github.com/dataform-co/dataform-segment.git#1.5 para https://github.com/dataform-co/dataform-segment/archive/1.5.tar.gz.

      Se você estiver usando URLs git+https:// em pacotes pré-criados do Dataform, verifique as instruções de instalação atualizadas desses pacotes nas páginas de lançamento deles, por exemplo, a página de lançamento do segmento do Dataform.

  8. Configure as permissões do BigQuery e as permissões do usuário.

  9. Migre ambientes de environments.json para configurações de lançamento.

  10. Migrar programações do environments.json para as configurações do fluxo de trabalho.

  11. Configurar alertas usando o Cloud Logging.

A seguir