Definición y administración de clasificadores - AWS Glue

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Definición y administración de clasificadores

Un clasificador lee los datos en un almacén de datos. Si reconoce el formato de los datos, genera un esquema. El clasificador también devuelve un número de certeza para indicar el grado de certeza del reconocimiento del formato.

AWS Glue proporciona un conjunto de clasificadores integrados, pero también puede crear clasificadores personalizados. AWS Glue invoca clasificadores personalizados en primer lugar, en el orden especificado en su definición del rastreador. Según los resultados devueltos a partir de los clasificadores personalizados, AWS Glue también podría invocar clasificadores integrados. Si un clasificador devuelve certainty=1.0 durante el procesamiento, indica que puede crear el esquema correcto con una seguridad del 100 por ciento. A continuación, AWS Glue usa la salida de ese clasificador.

Si ningún clasificador devuelve certainty=1.0, AWS Glue usará la salida del clasificador con la mayor certeza. Si ningún clasificador devuelve una certeza mayor que 0.0, AWS Glue devolverá la cadena de clasificación predeterminada de UNKNOWN.

¿Cuándo uso un clasificador?

Se usan clasificadores al rastrear un almacén de datos para definir tablas de metadatos en el AWS Glue Data Catalog. Puede configurar su rastreador con un conjunto ordenado de clasificadores. Cuando el rastreador invoca un clasificador, el clasificador determina si se reconocen los datos. Si el clasificador no puede reconocer los datos o no es 100 % seguro, el rastreador invoca el siguiente clasificador de la lista para determinar si puede reconocer los datos.

Para obtener información adicional acerca de cómo crear un clasificador mediante la consola de AWS Glue, consulte Creación de clasificadores mediante la consola AWS Glue.

Clasificadores personalizados

La salida de un clasificador incluye una cadena que indica la clasificación o el formato del archivo (por ejemplo, json) y el esquema del archivo. En el caso de los clasificadores personalizados, defina la lógica para crear el esquema en función del tipo de clasificador. Los tipos de clasificadores incluyen la definición de esquemas basados en patrones de grok, XML etiquetas y rutas. JSON

Si cambia una definición de clasificador, no se vuelven a clasificar los datos que se rastrearon anteriormente con el clasificador. Un rastreador realiza un seguimiento de datos rastreados anteriormente. Los datos nuevos se clasifican con el clasificador actualizado, lo que podría dar lugar a un esquema actualizado. Si el esquema de sus datos ha evolucionado, actualice el clasificador para tener en cuenta los cambios de esquema cuando se ejecute el rastreador. Para volver a clasificar los datos con el fin de corregir un clasificador incorrecto, cree un nuevo rastreador con el clasificador actualizado.

Para obtener más información acerca de la creación de clasificadores personalizados en AWS Glue, consulte Redacción de clasificadores personalizados para diversos formatos de datos.

nota

Si uno de los clasificadores integrados reconoce el formato de sus datos, no es necesario que cree un clasificador personalizado.

Clasificadores integrados

AWS Glueproporciona clasificadores integrados para varios formatos JSONCSV, incluidos los registros web y muchos sistemas de bases de datos.

Si AWS Glue no encuentra un clasificador personalizado que se adapte mejor al formato de datos de entrada con una seguridad del 100 por ciento, invoca los clasificadores integrados en el orden mostrado en la siguiente tabla. Los clasificadores integrados devuelven un resultado para indicar si el formato coincide (certainty=1.0) o no coincide (certainty=0.0). El primer clasificador con certainty=1.0 proporciona la cadena de clasificación y el esquema para una tabla de metadatos en su Data Catalog.

Tipo de clasificador Cadena de clasificación Notas
Apache Avro avro Lee el esquema al principio del archivo para determinar el formato.
Apache ORC orc Lee los metadatos de archivo para determinar el formato.
Apache Parquet parquet Lee el esquema al final del archivo para determinar el formato.
JSON json Lee el principio del archivo para determinar el formato.
Binario JSON bson Lee el principio del archivo para determinar el formato.
XML xml Lee el principio del archivo para determinar el formato. AWS Gluedetermina el esquema de la tabla en función de las XML etiquetas del documento.

Para obtener información sobre la creación de un XML clasificador personalizado para especificar las filas del documento, consulteEscribir XML clasificadores personalizados.

Amazon Ion ion Lee el principio del archivo para determinar el formato.
Registro Apache combinado combined_apache Determina los formatos de log a través de un patrón de grok.
Registro Apache apache Determina los formatos de log a través de un patrón de grok.
Registro de kernel de Linux linux_kernel Determina los formatos de log a través de un patrón de grok.
Registro de Microsoft microsoft_log Determina los formatos de log a través de un patrón de grok.
Registro de Ruby ruby_logger Lee el principio del archivo para determinar el formato.
Registro de Squid 3.x squid Lee el principio del archivo para determinar el formato.
Registro de monitorización de Redis redismonlog Lee el principio del archivo para determinar el formato.
Registro de Redis redislog Lee el principio del archivo para determinar el formato.
CSV csv Comprueba los siguientes delimitadores: coma (,), barra vertical (|), tabulación (\t), punto y coma (;) y Ctrl-A (\u0001). Ctrl-A es el carácter de control Unicode para Start Of Heading.
Amazon Redshift redshift Utiliza JDBC la conexión para importar metadatos.
Mi SQL mysql Utiliza JDBC la conexión para importar metadatos.
Postgre SQL postgresql Utiliza la JDBC conexión para importar metadatos.
Base de datos de Oracle oracle Utiliza JDBC la conexión para importar metadatos.
SQLServidor Microsoft sqlserver Utiliza JDBC la conexión para importar metadatos.
Amazon DynamoDB dynamodb Lee datos de la tabla de DynamoDB.

Los archivos en los siguientes formatos comprimidos se pueden clasificar:

  • ZIP(compatible con archivos que contienen un solo archivo). Tenga en cuenta que Zip no es totalmente compatible en otros servicios (por el archivo).

  • BZIP

  • GZIP

  • LZ4

  • Snappy (compatible con los formatos Snappy estándar y nativo de Hadoop)

CSVClasificador incorporado

El CSV clasificador integrado analiza el contenido CSV del archivo para determinar el esquema de una tabla. AWS Glue Este clasificador comprueba los siguientes delimitadores:

  • Coma (,)

  • Barra vertical (I)

  • Tabulador (\t)

  • Punto y coma (;)

  • Ctrl-A (\u0001)

    Ctrl-A es el carácter de control Unicode para Start Of Heading.

Para clasificarse comoCSV, el esquema de la tabla debe tener al menos dos columnas y dos filas de datos. El CSV clasificador utiliza una serie de heurísticas para determinar si un encabezado está presente en un archivo determinado. Si el clasificador no puede determinar un encabezado a partir de la primera fila de datos, los encabezados de columna se muestran como col1, col2, col3, etc. El CSV clasificador integrado determina si se debe deducir un encabezado mediante la evaluación de las siguientes características del archivo:

  • Cada columna de un posible encabezado se analiza como un STRING tipo de datos.

  • Excepto en la última, cada columna en un posible encabezado incluye contenido de menos de 150 caracteres. Para permitir un delimitador final, la última columna puede estar vacía en el archivo.

  • Cada columna de un encabezado potencial debe cumplir los requisitos regex de AWS Glue correspondientes a un nombre de columna.

  • La fila de encabezado debe estar suficientemente diferenciada de las filas de datos. Para determinar esto, una o más de las filas deben analizarse como algo distinto del STRING tipo. Si todas las columnas son de tipoSTRING, la primera fila de datos no es lo suficientemente diferente de las filas siguientes como para utilizarla como encabezado.

nota

Si el CSV clasificador integrado no crea AWS Glue la tabla como usted desea, puede utilizar una de las siguientes alternativas:

  • Cambie los nombres de las columnas en el catálogo de datos, establezca el SchemaChangePolicy a LOG y establezca la configuración de salida de la partición en InheritFromTable para futuras ejecuciones de rastreadores.

  • Cree un clasificador de grok para analizar los datos y asignar las columnas que desee.

  • El CSV clasificador integrado crea tablas que hacen referencia a ella LazySimpleSerDe como biblioteca de serialización, lo cual es una buena opción para la inferencia de tipos. Sin embargo, si los CSV datos contienen cadenas entre comillas, edite la definición de la tabla y cambie la biblioteca a. SerDe OpenCSVSerDe Ajusta cualquier tipo inferido aSTRING, establece el SchemaChangePolicy a LOG y establece la configuración de salida de las particiones InheritFromTable para futuras ejecuciones del rastreador. Para obtener más información sobre SerDe las bibliotecas, consulte la SerDe Referencia en la Guía del usuario de Amazon Athena.