Pular para o conteúdo principal

Ingerir dados do GitLab

info

Beta

Esse recurso está em Beta. Para usá-lo, o administrador do workspace deve ativar o Lakeflow Connect for GitLab na página Pré-visualizações . Consulte Gerenciar prévias do Databricks.

Esta página mostra como criar um pipeline de ingestão do GitLab gerenciado usando o Lakeflow Connect.

Requisitos​

  • Para criar um pipeline de ingestão, primeiro atenda aos seguintes requisitos:

    • Seu workspace deve estar habilitado para o Unity Catalog.

    • O serverless compute deve estar habilitado para seu workspace. Consulte Requisitos de serverless compute.

    • Para criar uma nova conexão, você deve ter privilégios CREATE CONNECTION no metastore. Consulte Gerenciar privilégios no Unity Catalog.

      Se o conector for compatível com a criação de pipeline baseada em interface do usuário, um administrador poderá criar a conexão e o pipeline ao mesmo tempo concluindo os passos desta página. No entanto, se os usuários que criam pipelines usarem a criação de pipeline baseada em API ou forem usuários não administradores, um administrador deverá primeiro criar a conexão no Catalog Explorer. Consulte Conectar-se a fontes de ingestão gerenciadas.

    • Para usar uma conexão existente, você deve ter os privilégios USE CONNECTION ou ALL PRIVILEGES no objeto de conexão.

    • Você deve ter privilégios USE CATALOG no catálogo de destino.

    • Você deve ter os privilégios USE SCHEMA e CREATE TABLE em um esquema existente ou privilégios CREATE SCHEMA no catálogo de destino.

  • Para fazer a ingestão do GitLab, primeiro configure a autenticação no Databricks e crie uma conexão. Consulte Configure authentication to GitLab e Create a GitLab connection.

Opções do conector​

Defina opções com escopo de pipeline em source_configurations. Consulte Examples para ver o uso.

Opção

Escopo

Obrigatório

Aplica-se a

Descrição

start_datetime

Pipeline

Não

Todas as tabelas incrementais

O Timestamp do registro mais antigo a ser ingerido na primeira sincronização, no formato yyyy-MM-dd'T'HH:mm:ss.SSS'Z'. Para ver o default, consulte Connector options.

Opção

Escopo

Obrigatório

Aplica-se a

Descrição

start_datetime

Pipeline

Não

Todas as tabelas incrementais

O Timestamp do registro mais antigo a ser ingerido na primeira sincronização, no formato yyyy-MM-dd'T'HH:mm:ss.SSS'Z'. Para ver o default, consulte Connector options.

Criar um pipeline de ingestão​

Para obter a lista de tabelas de origem suportadas, consulte Tabelas de origem suportadas.

  1. Na barra lateral do workspace do Databricks, clique em ingestão de dados .
  2. Na página Add data , em Databricks connectors , clique em GitLab .
  3. Na página Connection do assistente de ingestão, selecione a conexão que armazena suas credenciais do GitLab. Se você tiver o privilégio CREATE CONNECTION no metastore, clique em Ícone de mais. Create connection para criar uma conexão com as credenciais de Configure authentication to GitLab.
  4. Clique em Avançar .
  5. Na página Configuração de ingestão , insira um nome para o pipeline.
  6. Selecione um catálogo e um esquema para gravar dados. Se você tiver os privilégios USE CATALOG e CREATE SCHEMA no catálogo, clique em Ícone de mais. Create schema no menu suspenso para criar um esquema.
  7. Clique em Criar pipeline e continuar .
  8. Na página Source , selecione as tabelas para ingestão.
  9. Clique em Save and continue .
  10. Na página Destination , selecione um catálogo e um esquema para carregar os dados. Se você tiver os privilégios USE CATALOG e CREATE SCHEMA no catálogo, clique em Ícone de mais. Create schema no menu suspenso para criar um esquema.
  11. Clique em Save and continue .
  12. (Opcional) Na página Cronogramas e notificações , clique em Ícone de mais. Criar programar . Defina a frequência para o refresh das tabelas de destino.
  13. (Opcional) Clique em Ícone de mais. Add notification para definir notificações por email para o sucesso ou a falha da operação de pipeline e, em seguida, clique em Save and execução pipeline .

Exemplos​

O conector do GitLab disponibiliza 28 tabelas de origem no esquema de origem default. Os exemplos a seguir ingerem tabelas específicas.

Ingerir tabelas específicas​

Use esta opção para ingerir um subconjunto específico de tabelas ou para personalizar a nomenclatura de destino por tabela.

O seguinte arquivo de definição de pipeline ingere tabelas individuais do GitLab:

YAML
resources:
pipelines:
gitlab_pipeline:
name: gitlab_pipeline
catalog: 'main'
target: 'gitlab_data'
ingestion_definition:
connection_name: gitlab_connection
source_configurations:
- api_source_connector_config:
configs:
start_datetime: '<start-datetime>'
objects:
- table:
source_schema: 'default'
source_table: 'projects'
destination_catalog: 'main'
destination_schema: 'gitlab_data'
destination_table: 'projects'
- table:
source_schema: 'default'
source_table: 'issues'
destination_catalog: 'main'
destination_schema: 'gitlab_data'
destination_table: 'issues'
- table:
source_schema: 'default'
source_table: 'merge_requests'
destination_catalog: 'main'
destination_schema: 'gitlab_data'
destination_table: 'merge_requests'
- table:
source_schema: 'default'
source_table: 'commits'
destination_catalog: 'main'
destination_schema: 'gitlab_data'
destination_table: 'commits'

Arquivo de definição de job do Declarative Automation Bundles​

A seguir, há um exemplo de arquivo de definição de job para uso com os Pacotes de Automação Declarativa. A execução do job é diária.

YAML
resources:
jobs:
gitlab_job:
name: gitlab_job
schedule:
quartz_cron_expression: '0 0 0 * * ?'
timezone_id: 'UTC'
tasks:
- task_key: gitlab_ingestion
pipeline_task:
pipeline_id: ${resources.pipelines.gitlab_pipeline.id}

Padrões comuns​

Para configurações avançadas de pipeline, consulte Padrões comuns para pipelines de ingestão gerenciados.

Os passos seguintes​

Comece, programe e configure alertas no seu pipeline. Consulte Tarefas comuns de manutenção de pipeline.

Outros recursos​