Fonte de dados do tipo personalizada (Carregar por script)
Use um script personalizado para armazenar qualquer tipo de dados de entrada na tabela de conjunto de importação.
Quando você seleciona um Tipo de Personalizado (carregar por script) para sua fonte de dados, o Carregador de dados o campo é exibido. . Carregador de dados Um campo JavaScript em que você pode inserir um script para buscar dados e inseri-los na tabela de conjunto de importação usando import_set_tableparâmetro de entrada. Por exemplo, você pode inserir um script para obter dados de uma REST API ou um anexo de arquivo.
Script do carregador de dados
import_set_table: A tabela de conjunto de importação mencionada no registro da Fonte de dados. Os dados são inseridos nesta tabela.data_source: A fonte de dados mencionada no registro da fonte de dados.import_logLog que registra informações sobre a atividade de importação de dados.last_success_import_time: A última vez em que esta fonte de dados foi executada com sucesso.partition_info: As informações de particionamento dos dados. Usado para carregamento paralelo.
AddColumn(rótulo, maxLength)Adiciona uma coluna do tipo cadeia de caracteres à tabela do conjunto de importação.AddJSONColumn(rótulo, maxLength)Adiciona uma coluna do tipo JSON à tabela de conjunto de importação.AddXMLColumn(rótulo, maxLength)Adiciona uma coluna do tipo XML à tabela do conjunto de importação.Inserir(rowData)Insere um mapa (chave: Nome da coluna, valor: Valor da coluna) na tabela de conjunto de importação.ObtMaximumRows()Retorna 20 ao selecionar Carregar 20 registros . Em todos os outros casos, retorna -1 .
Exemplo do carregador de dados
Script de carregamento paralelo
parallel_job_loaderTabela Trabalhos paralelos [sys_parallel_job].data_source: A fonte de dados mencionada no registro da fonte de dados.import_logLog que registra informações sobre a atividade de importação de dados.last_success_import_time: A última vez em que esta fonte de dados foi executada com sucesso.
O parâmetro parallel_job_loader tem Adicionar(PartitionInfo) , que adiciona as informações da partição à tabela Trabalhos paralelos [sys_parallel_job].
Exemplo de carregamento paralelo
Neste exemplo, o script de carregamento paralelo particiona os dados em seções menores a serem carregadas em paralelo. O script do carregador de dados carrega os dados na tabela de conjunto de importação e adiciona uma nova partição para processar dados após um atraso de 120 segundos.
Atrasos, status e propriedades de carregamento paralelo
Para a maioria dos trabalhos paralelos, os dados estão disponíveis quando o script do carregador de dados é executado, portanto, você não precisa adicionar trabalhos paralelos ao script do carregador de dados.
Nos casos em que os dados podem não estar disponíveis imediatamente, você pode criar um trabalho paralelo adicional com um atraso no script do carregador de dados. Quando o script do carregador de dados é executado, o trabalho paralelo é programado para ser executado após o período de tempo especificado pelo atraso.
Ao adicionar trabalhos paralelos ao script do carregador de dados, evite loops repetitivos. Você pode evitar loops repetitivos especificando uma restrição. No exemplo anterior, o trabalho paralelo no script do carregador de dados usa a restrição (partition.start inferior a 1000) . Os atrasos são medidos em segundos.
Você pode verificar o status de suas tarefas de importação paralela atuais acessando a tabela Conjuntos de importação simultânea [sys_concurrent_import_set], selecionando seu trabalho e exibindo a guia Trabalhos paralelos.
Trabalhos atrasados podem ser exibidos como Pendente dependendo do período de tempo do atraso. Trabalhos paralelos são processados a partir da fila de eventos, portanto, você também pode exibir seus trabalhos acessando a tabela Eventos [SysEvent] e filtrando por [Fila] [is] [impex_parallel_job_queue] .
Se um trabalho ficar preso em um Em execução estado por mais de 600 minutos, ele é colocado automaticamente de volta em um Pendente estado. Você pode modificar a quantidade de tempo que um trabalho paralelo pode ficar preso em um estado de execução com com.glide.system_parallel_job_inactive_time_minutespropriedade.
Se um trabalho paralelo não puder ser concluído após duas tentativas, o trabalho será definido como Erro . Você pode modificar o número de tentativas antes de ter um estado de erro com com.glide.system_parallel_job_max_retry_countpropriedade. . com.glide.system_parallel_job_auto_retrya propriedade pode ser definida como falsa para desabilitar a nova tentativa automática.
Preenchimento automático do script
Conforme você digita o script, o preenchimento automático do script exibe as opções disponíveis, conforme mostrado neste exemplo.