Ingerir dados do NetSuite
Visualização
Este recurso está em Pré-visualização Pública.
Esta página mostra como criar um pipeline de ingestão do NetSuite usando 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 CONNECTIONno 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 CONNECTIONouALL PRIVILEGESno objeto de conexão. -
Você deve ter privilégios
USE CATALOGno catálogo de destino. -
Você deve ter privilégios
USE SCHEMAeCREATE TABLEem um esquema existente ou privilégiosCREATE SCHEMAno 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.
- Faça login na sua account NetSuite.
- No painel Configurações , clique em Configurar conexão analítica .
- 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.
- Databricks UI
- Databricks CLI
- No painel Catálogo , navegue até o volume que você criou.
- Clique em "Enviar para o volume" .
- Selecione o arquivo JAR que você baixou e clique em "Enviar" .
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.
- Databricks UI
- Databricks Asset Bundles
- Databricks notebook
- Na barra lateral do workspace do Databricks , clique em ingestão de dados .
- Na página Adicionar dados , em Conectores do Databricks , clique em NetSuite .
- 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 CONNECTIONno metastore, poderá clicar.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.
- Clique em Avançar .
- Na página de configuração de ingestão , insira um nome exclusivo para o pipeline.
- Selecione um catálogo e um esquema para gravar logs de eventos. Se você tiver privilégios
USE CATALOGeCREATE SCHEMAno catálogo, poderá clicar.Para criar um novo esquema, clique em "Criar esquema" no menu suspenso.
- Clique em Criar pipeline e continue .
- Na página Origem , selecione as tabelas que deseja importar.
- Clique em Salvar e continuar .
- Na página Destino , selecione um catálogo e um esquema para carregar os dados. Se você tiver privilégios
USE CATALOGeCREATE SCHEMAno catálogo, poderá clicar.Para criar um novo esquema, clique em "Criar esquema" no menu suspenso.
- Clique em Salvar e continuar .
- (Opcional) Na página de programação e notificações , clique em
Criar programar . Defina a frequência de refresh das tabelas de destino.
- (Opcional) Clique
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 .
Utilize pacotes de automação declarativa 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 de automação declarativa?.
-
Crie um novo pacote usando a CLI do Databricks:
Bashdatabricks bundle init -
Adicione dois novos arquivos de recursos ao pacote:
- Um arquivo de definição de pipeline (por exemplo,
resources/netsuite_pipeline.yml). Consulte pipeline.ingestion_definition e exemplos. - Um arquivo de definição de trabalho que controla a frequência de ingestão de dados (por exemplo,
resources/netsuite_job.yml).
- Um arquivo de definição de pipeline (por exemplo,
-
Implante o pipeline usando a CLI Databricks :
Bashdatabricks bundle deploy
- Importe o seguinte Notebook para o seu workspace Databricks :
-
Deixe a célula um como está.
-
Modifique a célula três com os detalhes da configuração do seu pipeline. Consulte pipeline.ingestion_definition e exemplos.
-
Clique em Executar tudo .
Exemplos
Utilize esses exemplos para configurar seu pipeline.
Ingerir uma única tabela de origem
- Databricks Asset Bundles
- Databricks notebook
O seguinte arquivo de definição de pipeline ingere uma única tabela de origem:
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
A seguinte especificação de pipeline ingere uma única tabela de origem:
##### 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
- Databricks Asset Bundles
- Databricks notebook
O seguinte arquivo de definição de pipeline ingere várias tabelas de origem:
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
A seguinte especificação de pipeline ingere várias tabelas de origem:
##### 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 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.
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}
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.