Pular para o conteúdo principal

Ingerir dados do NetSuite

info

Visualização

Este recurso está em Pré-visualização Pública.

Aprenda como criar um pipeline de ingestão do NetSuite 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.

    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 NetSuite, primeiro você precisa concluir os passos descritos em Configurar o NetSuite para importação para o Databricks.

Baixe o driver JDBC do SuiteAnalytics Connect.

O conector NetSuite exige que você upload o arquivo JAR do driver JDBC SuiteAnalytics Connect em um volume no Databricks. As seguintes versões de driver são suportadas: 8.10.147.0, 8.10.170.0 e 8.10.184.0.

  1. Faça login na sua account NetSuite.
  2. No painel Configurações , clique em Configurar conexão analítica .
  3. Baixe o arquivo JAR para o seu computador.

Criar um volume

Crie um volume para armazenar o arquivo JAR.

Consulte Criar um volume.

Os usuários que criam um pipeline de ingestão do NetSuite devem ter acesso a este volume.

Faça o upload do arquivo JAR para o volume.

Interface do usuário do Databricks

  1. No painel Catálogo , navegue até o volume que você criou.
  2. Clique em "Enviar para o volume" .
  3. Selecione o arquivo JAR que você baixou e clique em "Enviar" .

CLI do Databricks

Bash
databricks fs cp /local/path/to/NQjc.jar dbfs:/Volumes/<catalog>/<schema>/<volume>/NQjc.jar

Crie um pipeline de ingestão.

Cada tabela de origem é inserida em uma tabela de transmissão.

Interface do usuário do Databricks

  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 NetSuite .
  3. Na página Conexão do assistente de ingestão, selecione a conexão que armazena suas credenciais de acesso ao NetSuite. 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 o NetSuite para ingestão no Databricks.
  4. Clique em Avançar .
  5. Na página de configuração de ingestão , insira um nome exclusivo 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 tabelas 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 .

Databricks Asset Bundles

Use Databricks ativo Bundles para gerenciar o pipeline do NetSuite como código. Os pacotes podem conter definições YAML de Job e tarefa, são gerenciados usando a CLI Databricks e podem ser compartilhados e executados em diferentes espaços de trabalho de destino (como desenvolvimento, teste e produção). Para mais informações, consulte O que são pacotes Databricks ativos?.

  1. Crie um novo pacote usando a CLI do Databricks:

    Bash
    databricks bundle init
  2. Adicione dois novos arquivos de recursos ao pacote:

  3. Implante o pipeline usando a CLI Databricks :

    Bash
    databricks bundle deploy

Notebook Databricks

  1. Importe o seguinte Notebook para o seu workspace Databricks :
Abrir notebook em uma nova aba
  1. Deixe a célula um como está.

  2. Modifique a célula dois ou três com os detalhes da configuração do seu pipeline. Consulte as propriedades de configuração do pipeline e os exemplos.

  3. Clique em Executar tudo .

Propriedades de configuração do pipeline

Aplica-se a : Sim, marcado como certo Pacotes Databricks Ativo Sim, marcado como certo Notebook Databricks

Defina as seguintes propriedades no arquivo de definição de pipeline do seu pacote:

Valor

Descrição

name

Um nome único para o pipeline.

connection_name

O nome da conexão que armazena os detalhes de autenticação do NetSuite.

netsuite_jar_path

O caminho para o arquivo JAR do driver JDBC do SuiteAnalytics Connect em um volume (por exemplo, /Volumes/<catalog>/<schema>/<volume>/NQjc.jar).

source_schema

O nome do esquema que contém os dados que você deseja importar.

source_table

O nome da tabela que você deseja importar.

destination_catalog

O nome do catálogo no qual você deseja escrever no Databricks.

destination_schema

O nome do esquema no qual você deseja gravar no Databricks.

destination_table (opcional)

Um nome único para a tabela na qual você deseja gravar dados no Databricks. Caso você não forneça essa informação, o conector usará automaticamente o nome da tabela de origem.

Configurações avançadas

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

Exemplos

Aplica-se a : Sim, marcado como certo Pacotes Databricks Ativo Sim, marcado como certo Notebook Databricks

Utilize esses exemplos para configurar seu pipeline.

Ingerir uma única tabela de origem

O seguinte arquivo resources/netsuite_pipeline.yml ingere uma única tabela de origem:

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

# The main pipeline for netsuite_dab
resources:
pipelines:
pipeline_netsuite:
name: netsuite_pipeline
catalog: ${var.dest_catalog}
schema: ${var.dest_schema}
ingestion_definition:
connection_name: <netsuite-connection>
objects:
# An array of objects to ingest from NetSuite. This example ingests the transaction table.
- table:
source_schema: default
source_table: transaction
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
table_configuration:
netsuite_jar_path: /Volumes/<catalog>/<schema>/<volume>/NQjc.jar

Notebook Databricks

A seguir, um exemplo de configuração da célula 3 que ingere uma única tabela de origem:

Python
##### FIELDS TO EDIT ######
pipeline_name = "<pipeline-name>"
connection_name = "<netsuite-connection>"
destination_catalog = "main"
destination_schema = "ingest_destination_schema"
source_tables = ["transaction"]

# The Netsuite JAR needs to be stored in a volume.
netsuite_jar_path = "/Volumes/<catalog>/<schema>/<volume>/NQjc.jar"

###### FIELDS NOT TO EDIT ######
source_schema = "default"

Ingerir várias tabelas de origem

O seguinte arquivo resources/netsuite_pipeline.yml ingere várias tabelas de origem:

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

# The main pipeline for netsuite_dab
resources:
pipelines:
pipeline_netsuite:
name: netsuite_pipeline
catalog: ${var.dest_catalog}
schema: ${var.dest_schema}
ingestion_definition:
connection_name: <netsuite-connection>
objects:
# An array of objects to ingest from NetSuite. This example ingests the transaction and account tables.
- table:
source_schema: default
source_table: transaction
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
table_configuration:
netsuite_jar_path: /Volumes/<catalog>/<schema>/<volume>/NQjc.jar
- table:
source_schema: default
source_table: account
destination_catalog: ${var.dest_catalog}
destination_schema: ${var.dest_schema}
table_configuration:
netsuite_jar_path: /Volumes/<catalog>/<schema>/<volume>/NQjc.jar

Notebook Databricks

Segue abaixo um exemplo de configuração da célula 3 que ingere várias tabelas de origem:

Python
##### FIELDS TO EDIT ######
pipeline_name = "<pipeline-name>"
connection_name = "<netsuite-connection>"
destination_catalog = "main"
destination_schema = "ingest_destination_schema"
source_tables = ["transaction", "account"]

# The Netsuite JAR needs to be stored in a volume.
netsuite_jar_path = "/Volumes/<catalog>/<schema>/<volume>/NQjc.jar"

###### FIELDS NOT TO EDIT ######
source_schema = "default"

Arquivo de fluxo de trabalho do pacote

Aplica-se a : Sim, marcado como certo Pacotes Databricks Ativo

Segue abaixo um exemplo de arquivo resources/netsuite_job.yml . A execução do trabalho ocorre todos os dias, exatamente um dia após a última execução.

YAML
resources:
jobs:
netsuite_dab_job:
name: netsuite_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_netsuite.id}

Próximos passos

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

Recursos adicionais