Paso 2: elegir orígenes de datos y clasificadores
A continuación, configure los orígenes de datos y los clasificadores del rastreador.
Para obtener más información sobre orígenes de datos compatibles, consulte Orígenes de datos admitidos para el rastreo.
- Configuración del origen de datos
-
Seleccione la opción adecuada para ¿Sus datos ya están mapeados a AWS Glue tablas? elija «Aún no» o «Sí». De manera predeterminada, está seleccionado 'Aún no'.
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.
Not yet (Aún no): seleccione uno o varios orígenes de datos para rastrearlos. Un rastreador puede rastrear varios almacenes de datos de distintos tipos (Amazon S3JDBC, 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.
Sí: seleccione las tablas existentes de su AWS Glue Catálogo de datos. 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.
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, Amazon DynamoDB o Delta Lake.
-
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 Creación de 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).
-
Para usar tablas Delta, primero cree una tabla Delta con Athena DDL o el. AWS Glue API
Con Athena, establezca la ubicación en su carpeta Amazon S3 y el tipo de tabla en ''. DELTA
CREATE EXTERNAL TABLE database_name.table_name LOCATION 's3://bucket/folder/' TBLPROPERTIES ('table_type' = 'DELTA')
Con el AWS Glue API, especifique el tipo de tabla en el mapa de parámetros de la tabla. Los parámetros de la tabla deben incluir el siguiente par clave/valor. Para obtener más información sobre cómo crear una tabla, consulte la documentación de Boto3 sobre create_table
. { "table_type":"delta" }
- Origen de datos
-
Seleccione o agregue la lista de orígenes de datos que el rastreador va a analizar.
(Opcional) Si elige JDBC como fuente de datos, puede usar sus propios JDBC controladores al especificar el acceso a la conexión en el que se almacena la información del conductor.
- Incluir ruta
-
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 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 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 un almacén de datos de Delta Lake:
-
Especifique una o más rutas de Amazon S3 a las tablas Delta como s3://
bucket
/prefix
/object
. - 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
/prefix
.En el caso de los almacenes de datos de Iceberg y Hudi, la carpeta Iceberg/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.
- Para JDBC un almacén de datos
-
Escriba
<database>
/<schema>
/<table>
o<database>
/<table>
, según el producto de la base de datos. Oracle Database y My SQL no admiten el esquema en la ruta. Puede sustituir el carácter de porcentaje (%) por<schema>
o<table>
. Por ejemplo, para una base de datos Oracle con un identificador de sistema (SID) deorcl
, introduzcaorcl/%
para importar todas las tablas a las que tenga acceso el usuario mencionado en la conexión.importante
Este campo distingue entre mayúsculas y minúsculas.
nota
Si decide incorporar sus propias versiones de JDBC controlador, AWS Glue los rastreadores consumirán recursos AWS Glue trabajos y buckets de Amazon S3 para garantizar que el controlador proporcionado se ejecute en su entorno. El uso adicional de los recursos se reflejará en su cuenta. Los controladores se limitan a las propiedades descritas en Añadir un AWS Glue conexión.
- Para un almacén de datos MongoDB, MongoDB Atlas o Amazon DocumentDB
-
Para MongoDB, MongoDB Atlas y Amazon DocumentDB (con compatibilidad con MongoDB), la sintaxis es
database/collection
.
En el caso de JDBC los almacenes de datos, la sintaxis es
database-name/schema-name/table-name
odatabase-name/table-name
. La sintaxis depende de si el motor de base de datos admite esquemas en una base de datos. Por ejemplo, para motores de bases de datos como My SQL u Oracle, no especifique unaschema-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. - 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. Una ruta de exclusión es relativa a la ruta de inclusión. Por ejemplo, para excluir una tabla del banco de JDBC datos, escriba el nombre de la tabla en la ruta de exclusión.
Un rastreador se conecta a un banco JDBC de datos mediante un AWS Glue conexión que contiene una cadena de JDBC URI conexión. El rastreador solo tiene acceso a los objetos del motor de base de datos mediante el nombre JDBC de usuario y la contraseña del AWS Glue conexión. El rastreador solo puede crear tablas a las que pueda acceder a través de la JDBC conexión. Una vez que el rastreador accede al motor de base de datos con el JDBCURI, la ruta de inclusión se utiliza para determinar qué tablas 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 que contieneMyDatabase
se crean en el catálogo de datos. Al obtener acceso a Amazon Redshift, si especifica una ruta de inclusión deMyDatabase/%
, todas las tablas en todos los esquemas de la base de datosMyDatabase
se crean en el Catálogo de datos. Si especifica una ruta de inclusión de todasMyDatabase/MySchema/%
, se crean todas las tablas de la base de datosMyDatabase
y el esquemaMySchema
.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
glob
patrones 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áctermyfolder/*
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 demyfolder
, como/myfolder
y/myfolder/mydata.txt
Market*
Hace coincidir las tablas JDBC de una base de datos con nombres que comiencen por Market
, comoMarket_us
yMarket_fr
AWS Glue interpreta los patrones de
glob
exclusión 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 carpetaemployees
y sus archivosdepartments/market*
Excluye market-us.json
,market-emea.json
ymarket-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 carpetaemployees
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 JDBCexcluir patrones
Supongamos que está rastreando una JDBC base de datos 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
-
- Parámetros adicionales de origen de rastreadores
-
Cada tipo de origen requiere un conjunto diferente de parámetros adicionales.
- Connection
-
Seleccione o añada un AWS Glue conexión. Para obtener más información acerca de las conexiones, consulte Conexión a datos.
- Metadatos adicionales: opcionales (para almacenes JDBC de datos)
-
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.
- JDBCNombre de la clase de controlador: opcional (para almacenes JDBC de datos)
-
Escriba un nombre de clase de JDBC controlador personalizado para que el rastreador se conecte a la fuente de datos:
Postgres: org.postgresql.Driver
MiSQL: 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
SQLServidor: com.microsoft.sqlserver.jdbc. SQLServerDriver
- JDBCRuta del controlador S3: opcional (para almacenes JDBC de datos)
-
Elija una ruta de Amazon S3 existente para un archivo
.jar
. Aquí es donde se almacenará el.jar
archivo cuando se utilice un JDBC controlador personalizado para que el rastreador se conecte a la fuente 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 usar el modo de capacidad aprovisionada con AWS Glue los rastreadores.
nota
Para los almacenes de datos de DynamoDB, establezca el modo de capacidad aprovisionada para procesar las lecturas y escrituras en las tablas. El AWS Glue rastreador no debe usarse con el modo de capacidad bajo demanda.
- Conexión de red: opcional (para los almacenes de datos de destino Amazon S3, Delta, Iceberg, Hudi y Catalog)
-
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 Programación de rastreos progresivos para agregar nuevas particiones.
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 Definición y administración de clasificadores.