Pular para o conteúdo principal

Importar dados do Smartsheet

info

Beta

Este recurso está em versão Beta. Os administradores do espaço de trabalho podem controlar o acesso a este recurso na página de Pré-visualizações . Veja as prévias do Gerenciador Databricks.

Aprenda como criar um pipeline de ingestão do Smartsheet gerenciado usando Databricks LakeFlow Connect.

Requisitos

  • Para criar um pipeline de ingestão, você deve primeiro atender aos seguintes requisitos:

    • Seu workspace deve estar habilitado para o Unity Catalog.

    • compute sem servidor (serverless compute) deve estar habilitado para seu workspace. Consulte os requisitos compute sem servidor.

    • Se você planeja criar uma nova conexão: Você deve ter privilégios CREATE CONNECTION no metastore. Consulte a seção "Gerenciar privilégios" no Unity Catalog.

      Se o conector suportar a criação pipeline baseada em interface de usuário, um administrador poderá criar a conexão e o pipeline simultaneamente, concluindo os passos desta página. No entanto, se os usuários que criam pipelines utilizarem a criação pipeline baseada em API ou não forem administradores, um administrador deverá primeiro criar a conexão no Catalog Explorer. Consulte Conectar para gerenciar fontes de ingestão.

    • Se você planeja usar uma conexão existente: Você deve ter 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 privilégios USE SCHEMA e CREATE TABLE em um esquema existente ou privilégios CREATE SCHEMA no catálogo de destino.

  • Para importar dados do Smartsheet, você deve primeiro concluir os passos descritos em Configurar OAuth para importação de dados do Smartsheet.

Crie um pipeline de ingestão.

Cada objeto de origem (planilha ou relatório) é inserido em uma tabela de transmissão. Para obter uma lista dos tipos de objetos de origem suportados, consulte Tipos de objetos de origem suportados.

  1. Na barra lateral do workspace do Databricks , clique em ingestão de dados .
  2. Na página Adicionar dados , em Conectores do Databricks , clique em Smartsheet .
  3. Na página Conexão do assistente de ingestão, selecione a conexão que armazena suas credenciais de acesso ao Smartsheet. Se você tiver o privilégio CREATE CONNECTION no metastore, poderá clicar. Ícone de mais (+). Crie uma conexão para criar uma nova conexão com os detalhes de autenticação em Configurar OAuth para ingestão do Smartsheet.
  4. Clique em Avançar .
  5. Na página de configuração de ingestão , insira um nome para o pipeline.
  6. Selecione um catálogo e um esquema para gravar logs de eventos. Se você tiver privilégios USE CATALOG e CREATE SCHEMA no catálogo, poderá clicar. Ícone de mais (+). Para criar um novo esquema, clique em "Criar esquema" no menu suspenso.
  7. Clique em Criar pipeline e continue .
  8. Na página Origem , selecione as planilhas ou relatórios que deseja importar.
  9. Clique em Salvar e continuar .
  10. Na página Destino , selecione um catálogo e um esquema para carregar os dados. Se você tiver privilégios USE CATALOG e CREATE SCHEMA no catálogo, poderá clicar. Ícone de mais (+). Para criar um novo esquema, clique em "Criar esquema" no menu suspenso.
  11. Clique em Salvar e continuar .
  12. (Opcional) Na página de programação e notificações , clique em Ícone de mais (+). Criar programar . Defina a frequência de refresh das tabelas de destino.
  13. (Opcional) Clique Ícone de mais (+). Adicione uma notificação para configurar notificações email para operações pipeline bem-sucedidas ou com falha e, em seguida, clique em Salvar e execute pipeline .

Exemplos

Utilize esses exemplos para configurar seu pipeline.

Ingerir um único objeto de origem

O source_schema é sempre "default" para o Smartsheet. O source_table é o ID da planilha ou do relatório de 16 dígitos, que você pode encontrar no URL do Smartsheet ou nas propriedades da planilha.

O seguinte arquivo de definição de pipeline ingere uma única planilha do Smartsheet:

YAML
variables:
dest_catalog:
default: main
dest_schema:
default: ingest_destination_schema

resources:
pipelines:
pipeline_smartsheet:
name: smartsheet_pipeline
catalog: ${var.dest_catalog}
schema: ${var.dest_schema}
ingestion_definition:
connection_name: <smartsheet-connection>
objects:
- table:
source_schema: default
source_table: '7483920174635241'
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}

Ingerir vários objetos de origem

O seguinte arquivo de definição de pipeline ingere várias planilhas ou relatórios:

YAML
variables:
dest_catalog:
default: main
dest_schema:
default: ingest_destination_schema

resources:
pipelines:
pipeline_smartsheet:
name: smartsheet_pipeline
catalog: ${var.dest_catalog}
schema: ${var.dest_schema}
ingestion_definition:
connection_name: <smartsheet-connection>
objects:
- table:
source_schema: default
source_table: '7483920174635241'
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
- table:
source_schema: default
source_table: '3219847562038416'
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}

Use as opções de conector e tabela.

Use connector_options e table_configuration para controlar a imposição de esquema, a seleção de colunas e a filtragem de linhas.

O seguinte arquivo de definição de pipeline ingere uma planilha com exclusão de colunas e filtragem de linhas:

YAML
variables:
dest_catalog:
default: main
dest_schema:
default: hr_data

resources:
pipelines:
pipeline_smartsheet:
name: smartsheet_pipeline
catalog: ${var.dest_catalog}
schema: ${var.dest_schema}
ingestion_definition:
connection_name: <smartsheet-connection>
connector_options:
enforce_schema: false
objects:
- table:
source_schema: default
source_table: '7483920174635241'
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
destination_table: employee_roster
table_configuration:
exclude_columns:
- Employee Name
- Status
row_filter: "row_number <= 10 OR Department != 'Engineering'"

Arquivo de definição de trabalho de pacote

Segue abaixo um exemplo de arquivo de definição de tarefa para uso com pacotes de automação declarativa. A execução do trabalho ocorre todos os dias, exatamente um dia após a última execução.

YAML
resources:
jobs:
smartsheet_dab_job:
name: smartsheet_dab_job

trigger:
periodic:
interval: 1
unit: DAYS

email_notifications:
on_failure:
- <email-address>

tasks:
- task_key: refresh_pipeline
pipeline_task:
pipeline_id: ${resources.pipelines.pipeline_smartsheet.id}

Padrões comuns

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

Próximos passos

começar, programar e definir alerta em seu pipeline. Consulte Tarefa comum de manutenção pipeline.

Recursos adicionais