Todos los productos
Search
Centro de documentos

E-MapReduce:Conector de MySQL

Última actualización: Sep 04, 2026

El conector de MySQL permite consultar y crear tablas en una instancia externa de MySQL, así como ejecutar operaciones JOIN entre distintos sistemas (como MySQL y Hive) o entre dos instancias de MySQL.

Contexto

El conector de MySQL abarca los siguientes temas:

Requisitos previos

Limitaciones

  • El conector de MySQL es compatible con clústeres Hadoop y clústeres Trino que ejecutan EMR V3.38.0 o versiones posteriores.

  • Se requiere MySQL 5.7, 8.0 o una versión posterior.

  • El coordinador de Trino y todos los nodos worker necesitan acceso de red a la instancia de MySQL. El puerto predeterminado es 3306.

  • Las siguientes sentencias SQL no son compatibles:

    • DELETE

    • GRANT

    • REVOKE

    • SHOW GRANTS

    • SHOW ROLES

    • SHOW ROLE GRANTS

Configurar el conector de MySQL

Para modificar la configuración del conector de MySQL, consulte Configure a connector.

Configuración predeterminada del conector

En la página Configure del servicio Trino dentro de la consola de EMR, vaya a la sección Service Configuration, haga clic en la pestaña mysql.properties y configure los siguientes parámetros.

Parámetro

Descripción

connection-url

Cadena de conexión JDBC para la base de datos. Para más detalles, consulte View and manage instance endpoints and ports.

Por ejemplo, jdbc:mysql://rm-2ze5ipacsu8265q****.mysql.rds.aliyuncs.com:3306.

connection-user

Nombre de usuario de la base de datos. Este usuario debe tener permiso para acceder a las tablas en la base de datos de ApsaraDB RDS for MySQL.

connection-password

Contraseña correspondiente a connection-user.

Configurar varios servicios de MySQL

Si cuenta con varios servicios de MySQL, cree un archivo de configuración único para cada servicio en el directorio etc/catalog. Cada archivo debe tener la extensión .properties. Por ejemplo, un archivo de configuración llamado sales.properties crea un catálogo denominado sales en Trino.

Ejemplo de configuración

Para configurar varios servicios de MySQL en un clúster EMR, agregue elementos de configuración personalizados mediante connector[x].properties, donde x representa 1, 2, 3, etc. Siga estos pasos:

  1. En la página de configuración del servicio Trino dentro de la consola de EMR, diríjase a la sección Service Configuration, seleccione la pestaña mysql.properties y modifique los parámetros connection-user, connection-password y connection-url.

    Haga clic en Add Configuration Item en la parte superior para agregar los elementos de configuración necesarios. Para más detalles, consulte Add configuration items.

  2. Guarde la configuración.

    1. En la sección Service Configuration, haga clic en Save.

    2. En el cuadro de diálogo que aparece, introduzca un Execution Reason y haga clic en Save.

  3. Reinicie el servicio.

    1. En la esquina superior derecha, seleccione More > Restart.

    2. En el cuadro de diálogo que aparece, introduzca un Execution Reason y haga clic en OK.

    3. En el cuadro de diálogo Confirm, haga clic en OK.

Mapeo de tipos

Tipos DECIMAL

Es posible mapear tipos DECIMAL con precisión mayor a 38 al tipo DECIMAL de Trino si se establece el elemento de configuración decimal_mapping o la propiedad de sesión decimal_mapping en allow_overflow. El rango del tipo resultante se controla mediante el elemento de configuración decimal-default-scale o decimal-rounding-mode, y su precisión se fija en 38.

De forma predeterminada, los valores que requieren redondeo o truncamiento generan un error en tiempo de ejecución. Este comportamiento se controla con el elemento de configuración decimal-rounding-mode o la propiedad de sesión decimal-rounding-mode. Valores válidos: UNNECESSARY (predeterminado), UP, DOWN, CEILING, FLOOR, HALF_UP, HALF_DOWN y HALF_EVEN.

Propiedades generales

Las siguientes propiedades controlan el mapeo de tipos de datos y el almacenamiento en caché de metadatos en Trino.

Parámetro

Descripción

unsupported-type-handling

Determina cómo se gestionan los tipos de datos de columna no compatibles. Valores válidos:

  • IGNORE (predeterminado): La columna no es accesible.

  • CONVERT_TO_VARCHAR: La columna se convierte a un VARCHAR sin límite de longitud.

jdbc-types-mapped-to-varchar

Mapea una lista de tipos de datos separados por comas a VARCHAR sin límite de longitud.

case-insensitive-name-matching

Especifica si se deben coincidir los nombres remotos de bases de datos y esquemas sin distinguir mayúsculas de minúsculas. Valores válidos:

  • true: No distingue mayúsculas de minúsculas.

  • false (predeterminado): Distingue mayúsculas de minúsculas.

case-insensitive-name-matching.cache-ttl

Duración de la caché para la coincidencia de nombres remotos sin distinción de mayúsculas y minúsculas.

El valor predeterminado es 1m.

metadata.cache-ttl

Duración de la caché para metadatos, como estadísticas de tablas y columnas.

El valor predeterminado 0 deshabilita la caché.

metadata.cache-missing

Especifica si se deben almacenar en caché los resultados de búsquedas de metadatos fallidas, incluidas las estadísticas de tablas y columnas. Valores válidos:

  • true: Almacena en caché la ausencia.

  • false (predeterminado): No almacena en caché la ausencia.

Ejemplo: Consultar MySQL

  1. Consulte la base de datos RDS.

    1. Conéctese al clúster mediante SSH. Para más información, consulte Log on to a cluster.

    2. Ejecute el siguiente comando para conectarse al cliente de Trino.

      • Clúster DataLake

        trino --server master-1-1:9090 --catalog iceberg --schema default
      • Clúster Hadoop o clúster independiente de Trino

        trino --server emr-header-1:9090 --catalog iceberg --schema default
    3. Ejecute el siguiente comando para ver el esquema.

      SHOW schemas FROM mysql;
      Nota

      mysql es el nombre del archivo de configuración de propiedades.

    4. Ejecute el siguiente comando para ver la base de datos.

      SHOW tables FROM mysql.web;
      Nota

      En los ejemplos de este artículo, web es la base de datos que creó en MySQL.

  2. Consulte los datos de la tabla.

    • Consulte datos de la tabla mysql.web.clicks.

      SELECT * FROM mysql.web.clicks;
    • Consulte la información de columnas de la tabla mysql.web.clicks.

      SHOW columns FROM mysql.web.clicks;

      Alternativamente, ejecute el siguiente comando para describir la tabla.

      DESCRIBE mysql.web.clicks;

Pushdown

Para obtener detalles sobre pushdown, consulte Pushdown en la documentación de Trino.

El conector de MySQL aplica pushdown a los siguientes operadores y funciones:

  • Operadores

    • Join

    • Limit

    • Top-N

  • Funciones

    • avg()

    • count()

    • max()

    • min()

    • sum()

    • stddev()

    • stddev_pop()

    • stddev_samp()

    • variance()

    • var_pop()

    • var_samp()