As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Definindo e gerenciando classificadores
Um classificador lê os dados em uma armazenamento de dados. Se reconhecer o formato dos dados, ele gerará um esquema. O classificador também retornará um número de certeza para indicar o nível de certeza referente ao reconhecimento do formato.
O AWS Glue fornece um conjunto de classificadores integrados, mas você também pode criar classificadores personalizados. O AWS Glue invoca classificadores personalizados primeiro, na ordem especificada na definição do crawler. Dependendo dos resultados retornados dos classificadores personalizados, o AWS Glue também poderá invocar classificadores integrados. Se um classificador retornar certainty=1.0
durante o processamento, ele indicará que está 100% certo sobre a criação do esquema correto. Em seguida, o AWS Glue usa a saída desse classificador.
Se nenhum classificador retornar certainty=1.0
, o AWS Glue usará a saída do classificador que tiver a maior certeza. Se nenhum classificador retornar uma certeza maior que 0.0
, o AWS Glue retornará a string de classificação padrão UNKNOWN
.
Quando devo usar um classificador?
Você deve usar classificadores ao fazer crawling em um armazenamento de dados para definir tabelas de metadados no AWS Glue Data Catalog. Você pode configurar seu crawler com um conjunto de classificadores ordenados. Quando o crawler invoca um classificador, o classificador determina se os dados são reconhecidos. Se o classificador não puder reconhecer os dados ou não estiver 100% certo, o crawler chamará o próximo classificador na lista para tentar reconhecer os dados.
Para obter mais informações sobre como criar um classificador usando o console do AWS Glue, consulte Criação de classificadores usando o console AWS Glue.
Classificadores personalizados
A saída de um classificador inclui uma string que indica a classificação ou o formato do arquivo (por exemplo, json
) e o esquema dele. Para classificadores personalizados, você define a lógica de criação do esquema com base no tipo de classificador. Os tipos de classificadores incluem a definição de esquemas com base nos padrões, XML tags e caminhos do grok. JSON
Se você alterar uma definição de classificador, os dados que foram rastreados anteriormente usando o classificador não serão reclassificados. Um crawler monitora os dados rastreados anteriormente. Novos dados são classificados com o classificador atualizado, o que pode resultar em um esquema atualizado. Se o esquema de seus dados evoluiu, atualize o classificador para considerar quaisquer alterações de esquema quando o crawler for executado. Para reclassificar dados para corrigir um classificador incorreto, crie um novo crawler com o classificador atualizado.
Para obter mais informações sobre como criar classificadores personalizados no AWS Glue, consulte Escrevendo classificadores personalizados para diversos formatos de dados.
nota
Se seu formato de dados for reconhecido por um dos classificadores integrados, você não precisará criar um classificador personalizado.
Classificadores integrados
AWS Gluefornece classificadores integrados para vários formatos JSONCSV, incluindo registros da web e muitos sistemas de banco de dados.
Se o AWS Glue não encontrar um classificador personalizado adequado para o formato de dados de entrada com 100% de certeza, ele invocará os classificadores integrados na ordem exibida na tabela a seguir. Os classificadores integrados retornam um resultado para indicar se o formato é correspondente (certainty=1.0
) ou não (certainty=0.0
). O primeiro classificador que tiver certainty=1.0
fornecerá a string de classificação e o esquema para uma tabela de metadados no Data Catalog.
Tipo de classificador | String de classificação | Observações |
---|---|---|
Apache Avro | avro |
Lê o esquema no início do arquivo para determinar o formato. |
Apache ORC | orc |
Lê os metadados do arquivo para determinar o formato. |
Apache Parquet | parquet |
Lê o esquema no final do arquivo para determinar o formato. |
JSON | json |
Lê o início do arquivo para determinar o formato. |
Binário JSON | bson |
Lê o início do arquivo para determinar o formato. |
XML | xml |
Lê o início do arquivo para determinar o formato. AWS Gluedetermina o esquema da tabela com base nas XML tags no documento. Para obter informações sobre como criar um XML classificador personalizado para especificar linhas no documento, consulteEscrevendo classificadores XML personalizados. |
Amazon Ion | ion |
Lê o início do arquivo para determinar o formato. |
Log do Apache combinado | combined_apache |
Determina os formatos de log por meio de um padrão grok. |
Log do Apache | apache |
Determina os formatos de log por meio de um padrão grok. |
Log de kernel do Linux | linux_kernel |
Determina os formatos de log por meio de um padrão grok. |
Log da Microsoft | microsoft_log |
Determina os formatos de log por meio de um padrão grok. |
Log do Ruby | ruby_logger |
Lê o início do arquivo para determinar o formato. |
Log do Squid 3.x | squid |
Lê o início do arquivo para determinar o formato. |
Log de monitoramento do Redis | redismonlog |
Lê o início do arquivo para determinar o formato. |
Log do Redis | redislog |
Lê o início do arquivo para determinar o formato. |
CSV | csv |
Verifica os seguintes delimitadores: vírgula (,), pipe (|), tabulação (\t), ponto e vírgula (;) e Ctrl+A (\u0001). Ctrl+A é o caractere de controle Unicode para Start Of
Heading . |
Amazon Redshift | redshift |
Usa a JDBC conexão para importar metadados. |
Meu SQL | mysql |
Usa a JDBC conexão para importar metadados. |
Postger SQL | postgresql |
Usa a JDBC conexão para importar metadados. |
Banco de dados Oracle | oracle |
Usa a JDBC conexão para importar metadados. |
SQLServidor Microsoft | sqlserver |
Usa a JDBC conexão para importar metadados. |
Amazon DynamoDB | dynamodb |
Lê dados da tabela do DynamoDB. |
Os arquivos nos seguintes formatos compactados podem ser classificados:
-
ZIP(compatível com arquivos contendo apenas um único arquivo). Observe que o formato Zip não tem bom suporte em outros serviços (por causa do arquivamento).
-
BZIP
-
GZIP
-
LZ4
-
Snappy (compatível com os formatos Snappy Standard e Snappy de Hadoop nativo)
CSVClassificador embutido
O CSV classificador integrado analisa o conteúdo CSV do arquivo para determinar o esquema de uma tabela. AWS Glue Esse classificador verifica os seguintes delimitadores:
Vírgula (,)
Barra vertical (|)
Tabulação (\t)
Ponto e vírgula (;)
Ctrl+A (\u0001)
Ctrl+A é o caractere de controle Unicode para
Start Of Heading
.
Para ser classificado comoCSV, o esquema da tabela deve ter pelo menos duas colunas e duas linhas de dados. O CSV classificador usa várias heurísticas para determinar se um cabeçalho está presente em um determinado arquivo. Se o classificador não puder determinar um cabeçalho a partir da primeira linha de dados, os cabeçalhos das colunas serão exibidos como col1
, col2
, col3
e assim por diante. O CSV classificador integrado determina se um cabeçalho deve ser inferido avaliando as seguintes características do arquivo:
Cada coluna em um cabeçalho potencial é analisada como um tipo STRING de dados.
Exceto pela última coluna, todas as colunas em um possível cabeçalho têm conteúdo com menos de 150 caracteres. Para permitir um delimitador final, a última coluna pode ficar vazia em todo o arquivo.
Cada coluna em um possível cabeçalho deve atender aos requisitos do AWS Glue
regex
para um nome de coluna.A linha de cabeçalho deve ser suficientemente diferente das linhas de dados. Para determinar isso, uma ou mais linhas devem ser analisadas como diferentes do STRING tipo. Se todas as colunas forem do tipoSTRING, a primeira linha de dados não será suficientemente diferente das linhas subsequentes para ser usada como cabeçalho.
nota
Se o CSV classificador incorporado não criar sua AWS Glue tabela como você deseja, talvez você possa usar uma das seguintes alternativas:
Altere os nomes das colunas no Catálogo de Dados, defina o como e
SchemaChangePolicy
defina a LOG configuração de saída da partiçãoInheritFromTable
para futuras execuções do crawler.Crie um classificador grok personalizado para analisar os dados e atribuir as colunas desejadas.
O CSV classificador integrado cria tabelas referenciando a
LazySimpleSerDe
como biblioteca de serialização, o que é uma boa opção para inferência de tipos. No entanto, se os CSV dados contiverem cadeias de caracteres entre aspas, edite a definição da tabela e altere a SerDe biblioteca para.OpenCSVSerDe
Ajuste todos os tipos inferidosSTRING, defina como eSchemaChangePolicy
defina a LOG configuração de saída das partições paraInheritFromTable
futuras execuções do rastreador. Para obter mais informações sobre SerDe bibliotecas, consulte SerDe Referência no Guia do usuário do Amazon Athena.