Formulário e Validador de Esquema Apache Avro
Guia
Formulador e Validador de Esquema Apache Avro
Cole um esquema JSON do Apache Avro e obtenha uma versão formatada e validada contra a especificação oficial do Avro no seu navegador. A ferramenta detecta problemas que um simples analisador JSON ou uma IA de linguagem (LLM) não identifica — tipos inválidos em uniões, valores padrão que não correspondem à primeira rama da união, nomes de campo duplicados, referências a tipos nomeados não resolvidas, símbolos de enum que violam as regras de nomenclatura, e muito mais.
Também produz a Formatação de Análise definida pela especificação Avro, que é a representação determinística utilizada para impressão de esquemas e verificações de compatibilidade entre produtores e consumidores.
Como usar
- Cole o seu
.avscTransforme um esquema (um documento JSON) no área de entrada, ou arraste um arquivo para o carregador. - Escolha o estilo de indentação que deseja para a saída formatada — 2 espaços, 4 espaços, uma tabulação ou totalmente minimizada.
- Opcionalmente, marque Ordenar chaves dos objetos alfabeticamente para diferenças determinísticas entre revisões de esquema.
- Marcar Saída em Formatação de Análise quando for necessário o input de impressão definida pela especificação. As opções de indentação e ordenação são ignoradas nesse modo.
- Leia a barra de status verde/vermelha acima da saída — ela mostra se o esquema é válido ou inválido, além do número de registros, campos, enums, uniões e fixos. Avisos (como um valor padrão não nulo que não corresponde à primeira rama da união) aparecem abaixo.
- Use o botão de cópia ou download na saída para exportar o esquema formatado.
Características
- Validação rigorosa da especificação Avro — verifica tipos primitivos e complexos, sintaxe de nome e namespace, regras de ramas de união e detecção de tipos nomeados duplicados.
- Compatibilidade de valor padrão — verifica cada valor padrão de campo contra seu tipo declarado, com tratamento especial para a regra da primeira rama da união.
- Resolução de tipos nomeados — resolve referências como
com.example.Usercontra definições anteriores no mesmo documento. - Formatação de Análise — emite a versão determinística JSON definida pela especificação, utilizada para impressões de esquemas.
- Opções de formatação — saída com 2/4 espaços, tabulação ou minimizada, com ordenação alfabética opcional para diferenças estáveis.
- Estatísticas inline — contagem de registros, campos, enums, uniões e fixos exibida após cada validação.
- Executa totalmente no navegador — nenhum esquema é enviado para um servidor, portanto, a ferramenta é segura para esquemas proprietários ou internos.
Perguntas frequentes
-
O que é o Apache Avro?
O Apache Avro é um sistema de serialização de dados baseado em linhas, amplamente utilizado nos ecossistemas Hadoop e Kafka. Ele descreve dados com um esquema em JSON e serializa payloads em um formato binário compacto. O esquema viaja com (ou é referenciado por) os dados, o que torna o Avro popular para pipelines de dados que evoluem.
-
Por que os valores padrão do Avro devem corresponder à primeira rama de uma união?
Os leitores Avro resolvem uma união comparando o índice da ramificação do escritor com a ramificação compatível do leitor. Quando um campo está ausente nos dados, o leitor não tem índice a consultar, portanto, a especificação exige que o valor padrão seja representável como a primeira rama da união do leitor. É por isso que os campos nulos são tradicionalmente escritos como ['null', T] com um valor padrão nulo.
-
O que é a Formatação de Análise?
É uma serialização normalizada em JSON definida pela especificação Avro. Nomes curtos são substituídos por nomes totalmente qualificados, atributos não essenciais como doc e aliases são removidos, a ordem das chaves é fixa e todos os espaços são eliminados. Dois esquemas produzem a mesma forma canônica (e o mesmo impresso) quando são semanticamente equivalentes, mesmo que seus JSON originais sejam diferentes.
-
Como são resolvidos os namespaces?
Um nome sem ponto é qualificado pelo namespace mais interno. Um nome contendo ponto é tratado como um nome completo e usado literalmente. Cada registro, enum e fixed deve ter um fullname único dentro do documento do esquema.
-
Os tipos lógicos são suportados?
Tipos lógicos como decimal, data, hora-milissegundos e timestamp-milissegundos são tipos primitivos Avro com anotações adicionais. Esta ferramenta valida o tipo primitivo subjacente e preserva os metadados do tipo lógico na saída formatada, mas não impõe restrições específicas de tipo lógico (por exemplo, precisão e escala de decimal).
Instale nossas extensões
Adicione ferramentas de IO ao seu navegador favorito para acesso instantâneo e pesquisa mais rápida
恵 O placar chegou!
Placar é uma forma divertida de acompanhar seus jogos, todos os dados são armazenados em seu navegador. Mais recursos serão lançados em breve!
Ferramentas essenciais
Ver tudo Novas chegadas
Ver tudoAtualizar: Nosso ferramenta mais recente Texto (150 itens)
