Propiedades del rastreador - 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.

Propiedades del rastreador

Al definir un rastreador mediante la consola de AWS Glue o la AWS Glue API, puede especificar la siguiente información:

Paso 1: configurar las propiedades del rastreador

Nombre

El nombre puede contener letras (A-Z), números (0-9), guiones (-) o guiones bajos (_) y puede tener un máximo de 255 caracteres.

Descripción

La descripción puede tener una longitud máxima de 2048 caracteres.

Etiquetas

Utilice etiquetas para organizar e identificar los recursos. Para obtener más información, consulte los siguientes temas:

Paso 2: elegir orígenes de datos y clasificadores

Configuración del origen de datos

Seleccione la opción correspondiente para ¿Sus datos ya están asignados a tablas de AWS Glue?

El rastreador puede acceder a los almacenes de datos directamente como origen de rastreo o puede utilizar tablas existentes del Catálogo de datos como origen. Si el rastreador utiliza tablas de catálogos existentes, este rastrea los almacenes de datos especificados por dichas tablas de catálogos. Para obtener más información, consulte Tipo de origen del rastreador.

  • Not yet (Aún no): seleccione uno o varios orígenes de datos para rastrearlos. Un rastreador puede rastrear varios almacenes de datos de diferentes tipos (Amazon S3, JDBC, etc.).

    Solo puede configurar un almacén de datos por vez. Después de proporcionar la información de conexión e incluir rutas de acceso y patrones de exclusión, tendrá la opción de agregar otro almacén de datos.

    Para obtener más información, consulte Tipo de origen del rastreador.

  • Yes (Sí): seleccione las tablas existentes de su Catálogo de datos de AWS Glue. Las tablas de catálogos especifican los almacenes de datos que se van a rastrear. El rastreador puede rastrear solo tablas de catálogos en una única ejecución; no puede combinar otros tipos de fuentes.

Origen de datos

Seleccione o agregue la lista de orígenes de datos que el rastreador va a analizar.

Incluir ruta
Para un almacén de datos de Amazon S3

Elija si desea especificar una ruta de esta cuenta o de una cuenta diferente y busque una ruta de Amazon S3.

Para un almacén de datos de Delta Lake:

Especifique una o más rutas de Simple Storage Service (Amazon S3) a las tablas Delta como s3://bucket/prefijo/objeto.

Para un almacén de datos de Iceberg o Hudi

Especifique una o más rutas de Amazon S3 que contengan carpetas con metadatos de tablas de Iceberg o Hudi como s3://bucket/prefijo.

En el caso de un almacén de datos de Hudi, la carpeta de Hudi puede estar ubicada en una carpeta secundaria de la carpeta raíz. El rastreador escaneará todas las carpetas situadas debajo de una ruta para una carpeta Hudi.

En un almacén de datos JDBC

Ingrese <database>/<schema>/<table> o <database>/<table>, en función del producto de base de datos. Oracle Database y MySQL no permiten utilizar un esquema en la ruta. Puede sustituir <esquema> o <tabla> por el carácter de porcentaje (%). Por ejemplo, en una base de datos Oracle con el identificador del sistema (SID) orcl, escriba orcl/% para importar todas las tablas a las que el usuario especificado en la conexión tiene acceso.

importante

Este campo distingue entre mayúsculas y minúsculas.

Para un almacén de datos MongoDB, MongoDB Atlas o Amazon DocumentDB

Ingrese database/collection.

Para obtener más información, consulte Patrones de inclusión y exclusión.

Profundidad transversal máxima (solo para los almacenes de datos de Iceberg o Hudi)

Define la profundidad máxima de la ruta de Amazon S3 que el rastreador puede recorrer para descubrir la carpeta de metadatos de Iceberg o Hudi en la ruta de Amazon S3. El objetivo de este parámetro es limitar el tiempo de ejecución del rastreador. El valor predeterminado es 10 y el valor máximo es 20.

Patrones de exclusión

Estos le permiten excluir determinados archivos o tablas desde del rastreo. Para obtener más información, consulte Patrones de inclusión y exclusión.

Parámetros adicionales de origen de rastreadores

Cada tipo de origen requiere un conjunto diferente de parámetros adicionales. La siguiente lista no es exhaustiva:

Connection

Seleccione o agregue una conexión de AWS Glue. Para obtener más información acerca de las conexiones, consulte Conexión a datos.

Metadatos adicionales: opcionales (para almacenes de datos de JDBC)

Seleccione propiedades de metadatos adicionales para que el rastreador las rastree.

  • Comments (Comentarios): se rastrean los comentarios asociados de tabla y columna.

  • Raw types (Tipos sin procesar): se mantienen los tipos de datos sin procesar de las columnas de la tabla en metadatos adicionales. Como comportamiento predeterminado, el rastreador traduce los tipos de datos sin procesar a tipos compatibles con Hive.

Nombre de clase de controlador JDBC: opcional (para almacenes de datos JDBC)

Escriba un nombre de clase de controlador JDBC personalizado para que el rastreador se conecte al origen de datos:

  • Postgres: org.postgresql.Driver

  • MySQL: com.mysql.jdbc.Driver, com.mysql.cj.jdbc.Driver

  • Redshift: com.amazon.redshift.jdbc.Driver, com.amazon.redshift.jdbc42.Driver

  • Oráculo: oracle.jdbc.driver. OracleDriver

  • Servidor SQL: com.microsoft.sqlServer.jdbc.sql ServerDriver

Ruta S3 del controlador JDBC: opcional (para almacenes de datos JDBC)

Elija una ruta de Amazon S3 existente para un archivo .jar. Aquí es donde se almacenará el archivo .jar cuando se utilice un controlador JDBC personalizado para que el rastreador se conecte al origen de datos.

Habilitación del muestreo de datos (solo en almacenes de datos Amazon DynamoDB, MongoDB, MongoDB Atlas y Amazon DocumentDB)

Seleccione si desea rastrear solo una muestra de datos. Si no lo selecciona, se rastreará toda la tabla. Escanear todos los registros puede tardar mucho tiempo cuando la tabla no es una tabla de alto rendimiento.

Crear tablas para consultar (solo para almacenes de datos de Delta Lake)

Seleccione cómo desea crear las tablas de Delta Lake:

  • Crear tablas nativas: se permite la integración con los motores de consulta que permiten consultar directamente el registro de transacciones de Delta.

  • Create Symlink tables (Crear tablas de enlaces simbólicos): se crea una carpeta de manifiesto de enlaces simbólicos con los archivos de manifiesto particionados mediante las claves de partición en función de los parámetros de configuración especificados.

Scanning rate (Velocidad de análisis): opcional (solo en almacenes de datos de DynamoDB)

Especifique el porcentaje de las unidades de capacidad de lectura de tablas de DynamoDB que utilizará el rastreador. Unidades de capacidad de lectura es un término definido por DynamoDB y es un valor numérico que actúa como limitador de velocidad del número de lecturas que se pueden realizar en esa tabla por segundo. Introduzca un valor comprendido entre 0,1 y 1,5. Si no se especifica, el valor predeterminado es de 0,5% para las tablas aprovisionadas y 1/4 de la capacidad máxima configurada para las tablas bajo demanda. Tenga en cuenta que solo se debe utilizar el modo de capacidad aprovisionada con rastreadores de AWS Glue.

nota

Para los almacenes de datos de DynamoDB, establezca el modo de capacidad aprovisionada para procesar las lecturas y escrituras en las tablas. El rastreador de AWS Glue no debe utilizarse con el modo de capacidad bajo demanda.

Network connection (Conexión de red): opcional (solo para almacenes de datos de Amazon S3)

Si lo desea, incluya una conexión de red para utilizarla con este destino de Amazon S3. Tenga en cuenta que cada rastreador se limita a una conexión de red, por lo que cualquier otro destino de Amazon S3 también utilizará la misma conexión (o ninguna, si se deja en blanco).

Para obtener más información acerca de las conexiones, consulte Conexión a datos.

Muestrear solo un subconjunto de archivos y tamaño de la muestra (solo para almacenes de datos de Amazon S3)

Establece el número de archivos de cada carpeta que se van a rastrear al rastrear archivos de ejemplo en un conjunto de datos. Cuando esta característica está activada, en lugar de rastrear todos los archivos de este conjunto de datos, el rastreador selecciona aleatoriamente algunos archivos en cada carpeta para rastrear.

El rastreador de muestreo es el más adecuado para clientes que tienen conocimientos previos sobre sus formatos de datos y saben que los esquemas de sus carpetas no cambian. Activar esta característica reducirá significativamente el tiempo de ejecución del rastreador.

Un valor válido es un entero entre 1 y 249. Si no se especifica, se rastrean todos los archivos.

Ejecuciones posteriores del rastreador

Este campo es un campo global que afecta a todos los orígenes de datos de Amazon S3.

  • Crawl all sub-folders (Rastrear todas las subcarpetas): se vuelven a rastrear todas las carpetas con cada rastreo posterior.

  • Crawl new sub-folders only (Rastrear solo las subcarpetas nuevas): solo se rastrearán las carpetas de Amazon S3 que se hayan agregado desde el último rastreo. Si los esquemas son compatibles, se agregarán nuevas particiones a las tablas existentes. Para obtener más información, consulte Rastreo gradual para agregar nuevas particiones en AWS Glue.

  • Crawl based on events (Rastreo basado en eventos): confíe en los eventos de Amazon S3 para controlar qué carpetas rastrear. Para obtener más información, consulte Aceleración de los rastreadores mediante las notificaciones de eventos de Amazon S3.

Custom classifiers (Clasificadores personalizados): opcionales

Defina los clasificadores personalizados antes de definir los rastreadores. Un clasificador comprueba si un determinado archivo está en un formato que puede el rastreador administrar. En caso afirmativo, el clasificador crea un esquema en forma de un objeto StructType que coincida con formato de datos.

Para obtener más información, consulte Adición de clasificadores a un rastreador en AWS Glue.

Paso 3: Establecer configuración de seguridad

Rol de IAM

El rastreador asume este rol. Debe tener permisos a la política AWSGlueServiceRole administrada por AWS. En el caso de los orígenes de Amazon S3 y DynamoDB, también debe tener permisos para acceder al almacén de datos. Si el rastreador lee datos de Amazon S3 cifrados por AWS Key Management Service (AWS KMS), entonces el rol debe tener permiso para descifrar la clave AWS KMS.

Para un almacén de datos de Amazon S3, los permisos adicionales asociados al rol serían similares a los siguientes:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket/object*" ] } ] }

Para un almacén de datos de Amazon DynamoDB, los permisos adicionales asociados al rol serían similares a los siguientes:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "dynamodb:DescribeTable", "dynamodb:Scan" ], "Resource": [ "arn:aws:dynamodb:region:account-id:table/table-name*" ] } ] }

Para obtener más información, consulte Paso 2: creación de un rol de IAM para AWS Glue y Administración de identidades y accesos para AWS Glue.

Lake Formation configuration (Configuración de Lake Formation): opcional

Permita que el rastreador utilice credenciales de Lake Formation para rastrear el origen de datos.

Al marcar Use Lake Formation credentials for crawling S3 data source (Utilizar credenciales de Lake Formation para rastrear un origen de datos S3), el rastreador podrá usar las credenciales de Lake Formation para rastrear el origen de datos. Si el origen de datos pertenece a otra cuenta, debe proporcionar el ID de la cuenta registrada. De lo contrario, el rastreador solo rastreará los orígenes de datos asociados a la cuenta. Solo se aplica a los orígenes de datos del Catálogo de datos y Amazon S3.

Security configuration (Configuración de seguridad): opcional

La configuración incluye ajustes de seguridad. Para obtener más información, consulte los siguientes temas:

nota

Una vez que se ha establecido una configuración de seguridad en un rastreador, puede cambiarla, pero no puede eliminarla. Para reducir el nivel de seguridad de un rastreador, defina explícitamente la función de seguridad DISABLED en su configuración o cree un rastreador nuevo.

Paso 4: establecer salida y programación

Configuración de la salida

Las opciones incluyen la forma en la que el rastreador debe gestionar los cambios detectados en un esquema, los objetos eliminados en el almacén de datos y mucho más. Para obtener más información, consulte Opciones de configuración de rastreadores

Propiedad Schedule de rastreador

Puede ejecutar un rastreador bajo demanda o definir programaciones basadas en tiempo para los rastreadores y los trabajos de AWS Glue. La definición de estas programaciones utiliza sintaxis cron del tipo Unix. Para obtener más información, consulte Programación de un rastreador de AWS Glue.

Paso 5: Revisar y crear

Revise la configuración del rastreador que estableció y cree el rastreador.

Tipo de origen del rastreador

Un rastreador puede acceder a los almacenes de datos directamente como fuente de rastreo o puede utilizar tablas de catálogos existentes como fuente. Si el rastreador utiliza tablas de catálogos existentes, este rastrea los almacenes de datos especificados por dichas tablas de catálogos.

Una razón habitual para especificar una tabla de catálogo como origen es que creó la tabla de forma manual (dado que ya conocía la estructura del almacén de datos) y quiere un rastreador para mantener la tabla actualizada, incluido el agregado de nuevas particiones. Para obtener información de otras razones, consulte Actualización de tablas del Catálogo de datos creadas de forma manual mediante rastreadores.

Cuando especifique las tablas existentes como el tipo de origen de rastreador, se aplicarán las siguientes condiciones:

  • El nombre de la base de datos es opcional.

  • Solo se permiten las tablas de catálogos que especifiquen los almacenes de datos de Amazon S3 o Amazon DynamoDB.

  • No se crean nuevas tablas de catálogos cuando el rastreador se ejecuta. Las tablas existentes se actualizan según sea necesario, lo que incluye la adición de nuevas particiones.

  • Los objetos eliminados encontrados en los almacenes de datos se ignoran; no se eliminan tablas de catálogos. En su lugar, el rastreador escribe un mensaje de registro. (SchemaChangePolicy.DeleteBehavior=LOG)

  • La opción de la configuración del rastreador para crear un único esquema para cada ruta de Amazon S3 está activada de forma predeterminada y no se puede desactivar. (TableGroupingPolicy=CombineCompatibleSchemas) Para obtener más información, consulte Cómo crear un único esquema para cada ruta de inclusión de Amazon S3.

  • No se pueden combinar las tablas de catálogos como origen con cualquier otro tipo de origen (por ejemplo, Amazon S3 o Amazon DynamoDB).

Patrones de inclusión y exclusión

Al evaluar lo que se va a incluir o excluir en un rastreo, un rastreador comienza por evaluar la ruta de inclusión necesaria. Para almacenes de datos relacionales, Amazon S3, MongoDB, MongoDB Atlas y Amazon DocumentDB (con compatibilidad con MongoDB), debe especificar una ruta de inclusión.

Para los almacenes de datos de Amazon S3, la sintaxis de ruta de inclusión es bucket-name/folder-name/file-name.ext. Para rastrear todos los objetos de un bucket, debe especificar solo el nombre de bucket en la ruta de inclusión. EL patrón de exclusión es relativo a la ruta de inclusión

Para MongoDB, MongoDB Atlas y Amazon DocumentDB (con compatibilidad con MongoDB), la sintaxis es database/collection.

Para los almacenes de datos de JDBC, la sintaxis es database-name/schema-name/table-name o database-name/table-name. La sintaxis depende de si el motor de base de datos admite esquemas en una base de datos. Por ejemplo, en el caso de motores de base de datos como MySQL u Oracle, no especifique schema-name en la ruta de inclusión. Puede sustituir el signo de porcentaje (%) de un esquema o una tabla en la ruta de inclusión para representar todos los esquemas o todas las tablas de una base de datos. No se puede sustituir el signo de porcentaje (%) de base de datos en la ruta de inclusión. Una ruta de exclusión es relativa a la ruta de inclusión. Por ejemplo, para excluir una tabla en su almacén de datos de JDBC, escriba el nombre de la tabla en la ruta de exclusión.

Un rastreador se conecta a un almacén de datos de JDBC mediante una conexión de AWS Glue que contiene una cadena de conexión de URI de JDBC. El rastreador solo tiene acceso a los objetos en el motor de base de datos mediante el nombre de usuario y la contraseña de JDBC de la conexión de AWS Glue. El rastreador solo puede crear tablas a las que puede obtener acceso a través de la conexión de JDBC. Una vez que el rastreador obtiene acceso al motor de base de datos con el URI de JDBC, la ruta de inclusión se utiliza para determinar qué tablas de datos del motor de base de datos se crean en el Catálogo de datos. Por ejemplo, con MySQL, si especifica una ruta de inclusión de MyDatabase/%, todas las tablas en MyDatabase se crean en el Catálogo de datos. Al obtener acceso a Amazon Redshift, si especifica una ruta de inclusión de MyDatabase/%, todas las tablas en todos los esquemas de la base de datos MyDatabase se crean en el Catálogo de datos. Si especifica una ruta de inclusión de todas MyDatabase/MySchema/%, se crean todas las tablas de la base de datos MyDatabase y el esquema MySchema.

Después de especificar una ruta de inclusión, puede excluir objetos del rastreo que, de otro modo, su ruta de inclusión incluiría especificando uno o varios patrones de exclusión glob tipo Unix. Estos patrones se aplican a la ruta de inclusión para determinar qué objetos están excluidos. Estos patrones también se almacenan como una propiedad de las tablas creadas por el rastreador. AWS Glue PySpark extensionescreate_dynamic_frame.from_catalog, como leer las propiedades de la tabla y excluir los objetos definidos por el patrón de exclusión.

AWS Glue admite los siguientes tipos de patrones glob en el patrón de exclusión.

Patrón de exclusión Descripción
*.csv Coincide con una ruta de Amazon S3 que representa un nombre de objeto de la carpeta actual que termina en .csv
*.* Coincide con todos los nombres de objeto que contienen un punto
*.{csv,avro} Coincide con los nombres de objeto que terminan con .csv o .avro
foo.? Coincide con los nombres de objeto que comienzan por foo. a los que sigue una extensión de un solo carácter
myfolder/* Coincide con los objetos en un nivel de subcarpeta desde myfolder, como /myfolder/mysource
myfolder/*/* Coincide con los objetos en dos niveles de subcarpetas desde myfolder, como /myfolder/mysource/data
myfolder/** Coincide con los objetos en todas las subcarpetas de myfolder, como /myfolder/mysource/mydata y /myfolder/mysource/data
myfolder** Coincide con la subcarpeta myfolder así como con los archivos debajo de myfolder, como /myfolder y /myfolder/mydata.txt
Market* Coincide con las tablas en una base de datos de JDBC con nombres que comienzan por Market, como Market_us y Market_fr

AWS Glue interpreta los patrones de exclusión glob de la siguiente manera:

  • El carácter de barra inclinada (/) es el delimitador para separar claves de Amazon S3 en una jerarquía de carpetas.

  • El carácter asterisco (*) coincide con cero o varios caracteres de un componente de nombre sin superar límites de carpeta.

  • Dos asteriscos (**) coinciden con cero o varios caracteres que superan límites de carpeta o esquema.

  • El signo de interrogación (?) coincide exactamente con un carácter de un componente de nombre.

  • El carácter de barra inversa (\) se usa para escapar caracteres que de otro modo se pueden interpretar como caracteres especiales. La expresión \\ coincide con una sola barra inversa y \{ coincide con una llave de apertura.

  • Los corchetes [ ] crean una expresión de corchetes que coincide con un solo carácter de un componente de nombre fuera de un conjunto de caracteres. Por ejemplo, [abc] coincide con a, b o c. El guion (-) se puede usar para especificar un rango, por lo que [a-z] especifica un rango que coincide de la a a la z (inclusive). Estas formas se pueden mezclar, por lo que [abce-g] coincide con a, b, c, e, f o g. Si el carácter después del corchete ([) es un signo de exclamación (!), la expresión de corchetes se niega. Por ejemplo, [!a-c] coincide con cualquier carácter salvo con a, b o c.

    Dentro de una expresión de corchete, los caracteres *, ? y \ coinciden con ellos mismos. El guion (-) coincide consigo mismo si es el primer carácter dentro de los corchetes o si es el primer carácter después de ! durante la negación.

  • Las llaves ({ }) incluyen un grupo de subpatrones, donde el grupo coincide si cualquier subpatrón del grupo coincide. Una coma (,) se usa para separar los subpatrones. Los grupos no pueden estar anidados.

  • Los puntos al inicio de los nombres de archivo se tratan como caracteres normales en las operaciones de coincidencia. Por ejemplo, el patrón de exclusión * coincide con el nombre de archivo .hidden.

ejemplo Amazon S3 excluye patrones

Cada patrón de exclusión se evalúa con respecto a la ruta de inclusión. Por ejemplo, suponga que tiene la estructura de directorios de Amazon S3 siguiente:

/mybucket/myfolder/ departments/ finance.json market-us.json market-emea.json market-ap.json employees/ hr.json john.csv jane.csv juan.txt

Dada la ruta de inclusión s3://mybucket/myfolder/, estos son algunos resultados de ejemplo para los patrones de exclusión:

Patrón de exclusión Resultados
departments/** Excluye todas las carpetas y archivos situados debajo de departments e incluye la carpeta employees y sus archivos
departments/market* Excluye market-us.json, market-emea.json y market-ap.json
**.csv Excluye todos los objetos situados debajo de myfolder con un nombre terminado con .csv
employees/*.csv Excluye todos los archivos .csv de la carpeta employees
ejemplo Excluir un subconjunto de particiones de Amazon S3

Supongamos que sus datos se particionan por día de modo que cada uno de los días de un año esté en una partición de Amazon S3 independiente. En enero de 2015, hay 31 particiones. Ahora, para rastrear datos durante solo la primera semana de enero, debe excluir todas las particiones excepto del día 1 al 7:

2015/01/{[!0],0[8-9]}**, 2015/0[2-9]/**, 2015/1[0-2]/**

Veamos las partes de este patrón de glob. La primera parte, 2015/01/{[!0],0[8-9]}**, excluye todos los días que no comienzan por "0", además de los días 08 y 09 del mes 01 del año 2015. Tenga en cuenta que "**" se usa como sufijo del patrón de número de día y supera límites de carpeta hasta alcanzar carpetas de nivel más bajo. Si "*" se usa, los niveles de carpeta más bajos no se excluyen.

La segunda parte, 2015/0[2-9]/**, excluye días de los meses comprendidos entre el 02 y el 09 del año 2015.

La tercera parte, 2015/1[0-2]/**, excluye días de los meses 10, 11 y 12 del año 2015.

ejemplo Patrones de exclusión de JDBC

Supongamos que rastrea una base de datos de JDBC con la siguiente estructura de esquema:

MyDatabase/MySchema/ HR_us HR_fr Employees_Table Finance Market_US_Table Market_EMEA_Table Market_AP_Table

Dada la ruta de inclusión MyDatabase/MySchema/%, estos son algunos resultados de ejemplo para los patrones de exclusión:

Patrón de exclusión Resultados
HR* Excluye las tablas con nombres que comienzan por HR
Market_* Excluye las tablas con nombres que comienzan por Market_
**_Table Excluye todas las tablas con nombres que finalizan con _Table