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
/prefijoEn 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
, escribaorcl/%
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 cona
,b
oc
. El guion (-
) se puede usar para especificar un rango, por lo que[a-z]
especifica un rango que coincide de laa
a laz
(inclusive). Estas formas se pueden mezclar, por lo que [abce-g
] coincide cona
,b
,c
,e
,f
og
. 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 cona
,b
oc
.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 |