Em uma tarefa de sincronização em tempo real de tabela única do DataWorks Data Integration, use o componente de análise de JSON para converter dados JSON da origem nos dados correspondentes da tabela.
Crie e configure um componente de análise de JSON
Etapa 1: Configure uma tarefa do Data Integration
Crie uma fonte de dados. Para mais informações, consulte Data source management.
-
Crie uma tarefa do Data Integration. Para mais informações, consulte Configure a single-table real-time synchronization task.
NotaNas tarefas de sincronização em tempo real de tabela única do Data Integration, você pode adicionar um componente de processamento de dados entre os componentes de origem e destino. Para mais informações, consulte Supported data sources and synchronization solutions.
Etapa 2: Adicionar um componente de análise de JSON
Na tarefa de sincronização em tempo real de tabela única, ative a chave Data Processing, clique em +Add Node e selecione o componente JSON Parsing.
-
Insira um nome e uma descrição para o nó e configure o componente de análise de JSON.
ImportantePara obter a estrutura de dados JSON, conclua primeiro a Data Sampling na fonte de dados (como Kafka).
Adicionar campos fixos de análise de JSON
-
Obtenha os dados JSON formatados.
Origem JSON
Descrição
Obter dados JSON da amostragem de dados
Após realizar a amostragem de dados, clique em Add Fixed Parsing Field para abrir a caixa de diálogo JSON Fixed Parsing Field. Selecione um campo de origem e clique em Get JSON Structure para recuperar a estrutura de dados JSON.
Obter dados JSON inseridos manualmente
Caso não tenha realizado a amostragem de dados ou os dados de origem estejam vazios, edite os campos manualmente:
Clique no botão Edit JSON Text para entrar no modo de edição. Na janela Edit JSON Text, insira manualmente o conteúdo JSON e clique em Back to Selection para selecionar os campos.
-
Adicione manualmente um campo via Add Field. Se não for possível recuperar os valores dos campos upstream e você não tiver carregado manualmente conteúdo JSON pelo botão Edit JSON Text, defina regras de análise de campos fixos editando o conteúdo do valor para obter o conteúdo JSON. Os parâmetros para campos adicionados manualmente são:
Parâmetro
Descrição
Field
Nome de referência do novo campo analisado nos nós downstream.
Value acquisition
Especifica o caminho de análise JSON. A sintaxe de análise é:
$: representa o nó raiz..: representa um nó filho.[]:[number]representa um índice de array, começando em 0.[*]: expande o array em saída de várias linhas. Cada elemento se combina com outros campos do registro para formar uma linha independente destinada aos nós downstream.
NotaApenas letras, dígitos, hifens (-) e sublinhados (_) são permitidos nos nomes de campos JSON dentro do caminho de análise JSON.
Default
Valor padrão usado quando o caminho de análise JSON não existe devido a alterações nos campos da tabela upstream.
NULL: O campo recebe o valor NULL.
Do Not Fill: Nenhum valor é preenchido no campo. A diferença para NULL é que, ao gravar no campo correspondente da tabela de destino, se este possuir um valor padrão configurado, esse valor será utilizado em vez de NULL.
Dirty Data: O registro é contabilizado nas estatísticas de dados incorretos da tarefa de sincronização. A interrupção anormal da tarefa depende da configuração de tolerância a dados incorretos.
Inserir constante manualmente: Utiliza uma constante inserida manualmente como valor do campo.
Adicionar campos dinâmicos de análise de JSON
No conteúdo JSON formatado, selecione o campo de objeto JSON alvo para análise dinâmica. O sistema adiciona automaticamente uma configuração de análise para cada campo sob o objeto JSON nos campos de saída fixa.
Após definir a análise dinâmica para um objeto JSON, durante a execução da tarefa de sincronização, cada campo sob o caminho especificado no objeto JSON é adicionado ao registro como tipo STRING, mantendo seu nome e valor originais, e enviado aos nós downstream. Dessa forma, quando a estrutura do objeto JSON especificado mudar ou novos campos forem adicionados durante a sincronização, eles serão identificados e enviados automaticamente aos nós downstream.
-
Obter dados JSON formatados.
Origem JSON
Descrição
Obter dados JSON da amostragem de dados
Após realizar a amostragem de dados, clique em Add Dynamic Parsing Field para abrir a caixa de diálogo JSON Dynamic Output Fields. Selecione um campo de origem e clique em Get JSON Structure para recuperar a estrutura de dados JSON.
Obter dados JSON inseridos manualmente
Caso não tenha realizado a amostragem de dados ou os dados de origem estejam vazios, edite os campos manualmente:
Clique no botão Edit JSON Text para entrar no modo de edição. Na janela Edit JSON Text, insira manualmente o conteúdo JSON e clique em Back to Selection para selecionar os campos.
-
Análise dinâmica de objetos JSON
-
Método de configuração:
No painel esquerdo JSON Data Structure, clique em botão de seleção ao lado do campo de objeto JSON alvo (como dynamic). Uma configuração Specify JSON Object é adicionada automaticamente à seção direita Dynamic Output Fields, com o Value preenchido automaticamente com o caminho correspondente (como
$.dynamic) e o Default Value definido como Ignore. -
Suponha que o campo dinâmico adicione c3. Os resultados da análise antes e depois da alteração são:
_value_(STRING)
c1(STRING)
c2(STRING)
c3(STRING)
{ "dynamic": { "c1": 2, "c2": ["a1","b1"] } }2["a1","b1"]Não preenchido
{ "dynamic": { "c1": 2, "c2": ["a1","b1"], "c3": {"name": "jack"} } }2["a1","b1"]{"name": "jack"}
-
-
Adicionar campos manualmente.
A adição manual de campos refere-se à definição manual de regras de análise de campos dinâmicos por meio da edição do conteúdo do valor, aplicada quando não é possível recuperar os valores dos subcampos upstream e nenhum conteúdo JSON foi carregado manualmente pelo botão Edit JSON Text:
Parâmetro
Descrição
Specify JSON Object
Especifica o caminho de análise do objeto JSON. A sintaxe de análise é:
$: representa o nó raiz..: representa um nó filho.[]: [number] representa um índice de array, começando em 0.
Observação: Apenas letras, dígitos, hifens (-) e sublinhados (_) são permitidos nos nomes de campos JSON dentro do caminho de análise JSON.
Default
Define o comportamento padrão quando o caminho de análise JSON especificado falha ou o campo correspondente não existe.
Ignore: Não executa a análise dinâmica.Dirty Data: O registro é contabilizado nas estatísticas de dados incorretos da tarefa de sincronização. A interrupção anormal da tarefa depende da configuração de tolerância a dados incorretos.
-
Política para nomes de campos duplicados.
Quando campos dinâmicos JSON são expandidos por chave-valor, apenas o primeiro nível é expandido. Se já existir um campo com o mesmo nome durante a expansão, as seguintes políticas são aplicadas:
Overwrite: O valor da expansão posterior substitui o valor do campo existente.
Discard: O valor do campo existente é mantido e o valor da expansão posterior é descartado.
Error: A tarefa reporta um erro e interrompe a execução.
-
Próxima etapa
Após configurar os componentes Data Source e JSON Parsing, clique em Output Preview para verificar se os dados de saída do nó atual atendem aos seus requisitos.