Use definições de ETL e transforme mapas para processar eventos do Kafka. As definições de ETL e os mapas de transformação especificam a lógica de transformação a ser usada ao extrair dados por meio de importações programadas. Você pode usar as mesmas definições de ETL e mapas de transformação para transformar os eventos recebidos por meio do Kafka.
Procedimento
-
Crie um tópico para consumir ETL e transformar mensagens do consumidor do mapa.
-
Use o comando a seguir para criar um tópico no Hermes.
Neste exemplo, o nome do tópico é topic2.
bin/kafka-topics.sh --create --command-config config/bootcamp.properties --bootstrap-server <instance name>.service-now.com:4000,<instance name>.service-now.com:4001,<instance name>.service-now.com:4002, <instance name>.service-now.com:4003 --topic snc.<instance name>.topic2
Certifique-se de substituir<instance name> pelo nome da sua instância.
-
Para exibir o tópico, faça login na instância e navegue até .
Nota: Demora aproximadamente 10 minutos para criar um tópico.
-
Crie um consumidor de ETL para consumir dados do tópico.
-
Navegar até .
-
Selecione "Novo".
-
No formulário Consumidor do Kafka, insira um nome no campo Nome.
Este exemplo usa o nome Importação de membro.
-
Para o transformador do conjunto de importação robusto arquivado, selecione um transformador do conjunto de importação robusto existente.
Para o transformador de conjunto de importação robusto, selecione um que não esteja usando a opção de armazenar dados em uma única coluna. Para poder ver as mensagens, certifique-se de que o transformador robusto do conjunto de importação tenha a opção Detalhamento habilitada.
-
Desmarque a opção Dados em coluna única.
Esta opção só deve ser selecionada para tabelas de conjunto de importação com dados em uma única coluna.
-
Defina o mapeamento de Coluna como Rótulo.
Isso significa que as chaves JSON da mensagem de entrada são mapeadas para os rótulos de coluna da tabela Import Set.
-
Salve o formulário.
-
Criar um fluxo do Kafka para o consumidor.
-
No formulário Fluxo do Kafka, defina os seguintes valores de campo.
-
Selecione o link Ativar em Links relacionados.
Você deve conseguir ver a assinatura ativada.
-
Publique mensagens no tópico2.
-
Execute o comando a seguir para publicar mensagens no tópico2.
bin/kafka-console-producer.sh --topic snc.<instance name>.topic2 --producer.config config/bootcamp.properties --bootstrap-server <instance name>.service-now.com:4000,<instance name>.service-now.com:4001,<instance name>.service-now.com:4002,<instance name>.service-now.com:4003
Certifique-se de substituir<instance name> pelo nome da sua instância.
Este comando solicita mensagens.
-
Envie a seguinte mensagem JSON.
{"city":"San Diego","name":"Jhon","id":"SN001","state":"California"}
Você pode enviar esta mensagem com qualquer valor, mas a chave da mensagem JSON deve corresponder aos rótulos da tabela Import Set.
-
Navegue de volta para o consumidor de ETL que você criou.
Após cerca de um minuto, os dados devem ter sido importados por meio do conjunto de importação.
-
Para exibir informações detalhadas sobre o conjunto de importação, selecione o número do conjunto de importação.
-
Para exibir informações detalhadas sobre uma linha de conjunto de importação, selecione o número da linha do conjunto de importação.
-
Crie um consumidor de mapa de transformação para consumir dados.
-
Navegar até .
-
Selecione "Novo".
-
No formulário Consumidor do mapa de transformação do Kafka, insira um nome no campo Nome.
-
Para o campo Mapa de transformação, selecione um mapa de transformação existente.
-
Salve o formulário.
-
Criar um fluxo do Kafka para o consumidor.
-
No formulário Fluxo do Kafka, defina os seguintes valores de campo.
-
Selecione o link Ativar em Links relacionados.
Você deve conseguir ver a assinatura ativada.
-
Publique mensagens no tópico2.
-
Execute o comando a seguir para publicar mensagens no tópico2.
bin/kafka-console-producer.sh --topic snc.<instance name>.topic2 --producer.config config/bootcamp.properties --bootstrap-server <instance name>.service-now.com:4000,<instance name>.service-now.com:4001,<instance name>.service-now.com:4002,<instance name>.service-now.com:4003
Certifique-se de substituir<instance name> pelo nome da sua instância.
Este comando solicita mensagens.
-
Envie a seguinte mensagem JSON.
{"city":"San Diego","name":"Jhon","id":"SN001","state":"California"}
Você pode enviar esta mensagem com qualquer valor, mas a chave da mensagem JSON deve corresponder aos rótulos da tabela Import Set.
-
Vá para o consumidor do mapa de transformação que você criou.
Após cerca de um minuto, os dados devem ter sido importados por meio do conjunto de importação.
-
Para exibir informações detalhadas sobre o conjunto de importação, selecione o número do conjunto de importação como na etapa 3d acima.