Após distribuir os resultados da transformação de dados para um LogStore de destino, consulte este tópico se o LogStore de destino não contiver dados.
Cenário 1: os destinos de armazenamento na instrução de transformação diferem dos configurados na página Create Data Transformation Job
O LogStore chamado website_log contém 5.000 entradas de log: 1.000 com SourceIP 192.0.2.54, 1.000 com SourceIP 192.0.2.28, 1.000 com SourceIP 192.0.2.136 e 2.000 com outros valores de SourceIP. Essas entradas são processadas e distribuídas para os seguintes LogStores de destino: 54_log_target, 28_log_target e 136_log_target.
Requisitos de processamento
Distribuir os logs com SourceIP 192.0.2.54 para o LogStore chamado 54_log_target.
Distribuir os logs com SourceIP 192.0.2.28 para o LogStore chamado 28_log_target.
Distribuir os logs com SourceIP 192.0.2.136 para o LogStore chamado 136_log_target.
Descartar todos os logs que não atendam a essas condições.
Instrução de transformação
Os três nomes de LogStore de destino usados na instrução são 54_log, 28_log e 136_log.
e_if(e_search("SourceIP==192.0.2.54"), e_output(name="54-target", project="sls-test", logstore="54_log")) e_if(e_search("SourceIP==192.0.2.28"), e_output(name="28-target", project="sls-test", logstore="28_log")) e_if(e_search("SourceIP==192.0.2.136"), e_output(name="136-target", project="sls-test", logstore="136_log")) e_drop()Destinos de armazenamento
Os LogStores de destino reais são 54_log_target, 28_log_target e 136_log_target.
Os três destinos de armazenamento são chamados 54_target, 28_target e 136_target. Todos usam a região China (Chengdu), o projeto sls-test e o método de autorização default role.
Resultado da transformação
Os LogStores 54_log_target, 28_log_target e 136_log_target não contêm dados.
Causa raiz
Nos parâmetros
project(nome do projeto de destino) elogstore(nome do LogStore de destino) da função e_output na instrução de transformação, os valores especificados diferem dos definidos em Destination Project e Destination Database no painel Create Data Transformation Task. Nesse caso, o destino de armazenamento definido na instrução de transformação tem precedência.Nesse caso, o resultado do processamento de dados é distribuído para os três LogStores especificados na instrução de processamento de dados: 54_log, 28_log e 136_log.
Solução
Se você configurar apenas o parâmetro name nas funções e_output ou e_coutput, a saída será direcionada para os destinos de armazenamento definidos no painel Create Data Transformation Job.
Se você especificar os parâmetros Project e LogStore em e_output ou e_coutput, eles devem corresponder exatamente aos destinos de armazenamento configurados no painel Create Data Transformation Job. Para mais informações, consulte e_outputLogStoreut.
nullAo definir uma instrução de transformação com múltiplos destinos de armazenamento sem incluir uma instrução e_drop(), todos os logs processados que não atendem a nenhuma condição — e não são descartados — são enviados para o primeiro destino de armazenamento.
e_if(e_search("SourceIP==192.0.2.54"), e_output(name="54-target", project="sls-test", logstore="54_log_target")) e_if(e_search("SourceIP==192.0.2.28"), e_output(name="28-target", project="sls-test", logstore="28_log_target")) e_if(e_search("SourceIP==192.0.2.136"), e_output(name="136-target", project="sls-test", logstore="136_log_target")) e_drop()
Cenário 2: nenhuma instrução de transformação definida ou uso exclusivo de uma instrução e_drop()
Instrução de transformação
Nenhuma
Destino de armazenamento: este cenário configura dois destinos de armazenamento. O destino de armazenamento 1 (
54-target) tem o banco de dados de destino54_log_target, e o destino de armazenamento 2 (28-target) tem o banco de dados de destino28_log_target. Ambos estão localizados no projetosls-test, com o método de autorização definido como default role.Resultado da transformação
Apenas o LogStore
54_log_targetcontém dados.Causa raiz
Nenhuma instrução de transformação foi configurada na página de transformação de dados, porém, no painel Create Data Transformation Task:
Se você configurar um destino de armazenamento, os dados do LogStore de origem serão copiados para esse destino.
Se você configurar múltiplos destinos de armazenamento, todos os dados serão enviados apenas para o LogStore do destino de armazenamento 1, sem encaminhamento para os demais destinos.
Se você definir apenas uma instrução e_drop(), todos os dados de log serão descartados e os LogStores de destino permanecerão vazios.
Cenário 3: atraso no processamento
Se a tarefa de transformação estiver configurada corretamente, mas o LogStore de destino ainda não exibir dados, o problema pode ser causado por atraso na transformação.
Consulte o Guia de desempenho e planeje a implantação da tarefa de transformação em três áreas:
LogStore de origem: ajuste o número de shards (em status readwrite) com base no volume de dados para garantir concorrência suficiente na transformação.
Lógica DSL de transformação: otimize expressões regulares, aplique poda condicional quando apropriado e filtre os dados o mais cedo possível.
LogStore de destino: configure shards suficientes (em status readwrite) para evitar gargalos de gravação durante a saída de dados.