Integraciones
Breadcrumbs

AWS Glue

Modelo de integración

Extracción de metadatos


Se utilizan los métodos que ofrece la API de Glue para acceder a la definición de bases de datos y tablas.

Extrae los siguientes atributos que deben llamarse igual en la tabla attribute_definition, campo name para que aparezcan en la plantilla.

Nombre de atributo

Tipo de atributo

Descripción

physicalName, name

INPUT_TEXT

Nombre de la tabla

dataBase

INPUT_TEXT

Nombre de la database

description

INPUT_TEXT

Descripción de la tabla

path

INPUT_TEXT

Ruta al objeto utilizando como separador la propiedad pathSeparator

infrastructure

SELECT

Atributo de anjana usado para extraer la tabla

technology

SELECT

Atributo de anjana usado para extraer la tabla

zone

SELECT

Atributo de anjana usado para extraer la tabla

data_format

INPUT_TEXT

Formato del dato en la tabla

compressed

INPUT_CHECKBOX

Si los datos de la tabla están comprimidos

partitionKeys

ARRAY_ALPHANUMERICAL

Las clave de las particiones de

la tabla, si ha sido particionada. Llegará en una única String

usando “_-” como separador

entre valores

tableCreatedTime

INPUT_DATE

Fecha de creación de la tabla

datasourceLocation

INPUT_TEXT

Origen de los datos de la tabla

datasourceInputFormat

INPUT_TEXT

Formato de los datos de origen

de la tabla

serializationLibrary

INPUT_TEXT

Librería usada en la creación y actualización de la tabla

tableType

INPUT_TEXT

Tipo de tabla

tableVersion

INPUT_TEXT

Versión de la tabla

catalogId

INPUT_TEXT

ID del catálogo donde está la

tabla


Se incluirán todos los parámetros extras que tenga el metadato de la tabla.

También enviará los siguientes atributos relativos a los campos del recurso pedido:


Nombre de atributo

Tipo de atributo

Descripción

physicalName, name

INPUT_TEXT

Nombre de la columna de la

tabla

description

INPUT_TEXT

Descripción de la columna de

la tabla

fieldDataType

INPUT_TEXT

Tipo de dato de la columna de

la tabla

pk

INPUT_CHECKBOX

Si la columna es primary key de

la tabla

position

INPUT_NUMBER

Posición de la columna en la

tabla


Se incluirán todos los parámetros extras que tenga el metadato de la columna.


El plugin es capaz de realizar la extracción de metadatos de los siguientes tipos de elementos:

Tablas de las diferentes base de datos que estén alojadas en el servicio; siempre en el mismo formato que aparezca en Glue, nunca en el formato de la localización de los ficheros generados (S3).

Credenciales requeridas

Extracción de metadatos

Es necesario un usuario con permisos de lectura sobre el servicio de Glue. Entre los permisos* de lectura son necesarios los siguientes:

  • glue:SearchTables

  • glue:GetConnection

  • glue:GetTable

  • glue:GetTables

  • glue:GetDatabases

  • glue:GetPartitions


Nota: Estos son los permisos mínimos para un funcionamiento correcto de Amazon Glue. Cada tecnología por la que pase Glue para obtener los datos puede necesitar sus propios permisos en Glue.


Si se desea realizar extracción de metadato se requiere de una conexión con Amazon Glue. Para establecer dicha conexión se requiere un accessKey y un secretKey de la cuenta AWS IAM. Además se requiere la región en la que se encuentra.


Para poder obtener el acceskey y secretkey necesario para la instalación, se debe crear un usuario en AWS IAM y, en la pestaña de credenciales de seguridad, crear unas claves de acceso, las cuales se introducirán en el yaml de configuración.

att_1_for_171901169.png


Se debe crear una política de AWS y asignarla al grupo donde se encuentre el usuario.
Debe ser así:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "glue:SearchTables",
                "glue:GetTable",
                "glue:GetConnection",
                "glue:GetTables",
                "glue:GetPartitions",
                "glue:GetPartition",
                "glue:GetDatabases"
            ],
            "Resource": "*"
        }
    ]
}


Configuración

En la Configuración técnica y en Tot despliegue de plugins hay algunas directrices.

Existe un YAML de ejemplo para facilitar la configuración en Nexus / com / anjana / documentation (necesario login previo) con explicaciones de las propiedades y valores por defecto.

Este plugin puede conectarse a varias instancias de la misma tecnología, también se puede ver el YAML de ejemplo.