Todos os produtos
Search
Central de documentação

E-MapReduce:Conector MySQL

Última atualização: Jul 20, 2026

O conector MySQL permite consultar e criar tabelas em uma instância externa do MySQL, além de executar operações JOIN entre sistemas diferentes (como MySQL e Hive) ou entre duas instâncias do MySQL.

Contexto

Este tópico aborda os seguintes assuntos sobre o conector MySQL:

Pré-requisitos

Limitações

  • O suporte ao conector MySQL está disponível em clusters Hadoop e Trino que executam o EMR V3.38.0 ou versões posteriores.

  • Requer o MySQL 5.7, 8,0 ou superior.

  • O coordenador do Trino e todos os nós workers precisam de acesso de rede à instância do MySQL. A porta padrão é a 3306.

  • As instruções SQL a seguir não são suportadas:

    • DELETE

    • GRANT

    • REVOKE

    • SHOW GRANTS

    • SHOW ROLES

    • SHOW ROLE GRANTS

Configurar o conector MySQL

Para modificar as configurações do conector MySQL, consulte Configure a connector.

Configuração padrão do conector

Na página Configure do service Trino no console EMR, dentro da seção Service Configuration, clique na aba mysql.properties e configure os parâmetros abaixo.

Parâmetro

Descrição

connection-url

String de conexão JDBC para o banco de dados. Para mais detalhes, consulte Visualize e gerencie endpoints e portas da instância.

Exemplo: jdbc:mysql://rm-2ze5ipacsu8265q****.mysql.rds.aliyuncs.com:3306.

connection-user

Nome de usuário do banco de dados. Esse usuário precisa ter permissão para acessar as tabelas no banco de dados do ApsaraDB RDS for MySQL.

connection-password

Senha correspondente ao connection-user.

Configurar múltiplos services MySQL

Caso utilize vários services MySQL, crie um arquivo de configuração exclusivo para cada service no diretório etc/catalog. Todo arquivo deve ter a extensão .properties. Por exemplo, um arquivo chamado sales.properties cria um catálogo denominado sales no Trino.

Exemplo de configuração

Para configurar múltiplos services MySQL em um cluster EMR, adicione itens de configuração personalizados usando connector[x].properties, onde x representa 1, 2, 3, e assim por diante. Siga os passos abaixo:

  1. Acesse a página de configuração do service Trino no console EMR. Na seção Service Configuration, dentro da aba mysql.properties, modifique os parâmetros connection-user, connection-password e connection-url.

    Clique em Add Configuration Item na parte superior para incluir os itens necessários. Para mais detalhes, consulte Add configuration items.

  2. Salve a configuração.

    1. Na seção Service Configuration, clique em Save.

    2. Na caixa de diálogo exibida, insira um Execution Reason e clique em Save.

  3. Reinicie o service.

    1. No canto superior direito, selecione More > Restart.

    2. Na caixa de diálogo que aparece, insira um Execution Reason e clique em OK.

    3. Na caixa de diálogo Confirm, clique em OK.

Mapeamento de tipos

Tipos DECIMAL

É possível mapear tipos DECIMAL com precisão maior que 38 para o tipo DECIMAL do Trino definindo o item de configuração decimal_mapping ou a propriedade de sessão decimal_mapping como allow_overflow. O intervalo do tipo resultante é controlado pelo item de configuração decimal-default-scale ou decimal-rounding-mode, e sua precisão é fixada em 38.

Por padrão, valores que exigem arredondamento ou truncamento falham durante a execução. Esse comportamento é controlado pelo item de configuração decimal-rounding-mode ou pela propriedade de sessão decimal-rounding-mode. Valores válidos: UNNECESSARY (padrão), UP, DOWN, CEILING, FLOOR, HALF_UP, HALF_DOWN e HALF_EVEN.

Propriedades gerais

As propriedades listadas abaixo controlam o mapeamento de tipos de dados e o cache de metadados no Trino.

Parâmetro

Descrição

unsupported-type-handling

Define como lidar com tipos de dados de coluna não suportados. Valores válidos:

  • IGNORE (padrão): A coluna fica inacessível.

  • CONVERT_TO_VARCHAR: Converte a coluna para um VARCHAR ilimitado.

jdbc-types-mapped-to-varchar

Mapeia uma lista de tipos de dados separados por vírgula para VARCHAR ilimitado.

case-insensitive-name-matching

Especifica se a correspondência de nomes de bancos de dados e schemas remotos deve ignorar maiúsculas e minúsculas. Valores válidos:

  • true: Não diferencia maiúsculas de minúsculas.

  • false (padrão): Diferencia maiúsculas de minúsculas.

case-insensitive-name-matching.cache-ttl

Duração do cache para correspondência de nomes remotos sem distinção entre maiúsculas e minúsculas.

O valor padrão é 1m.

metadata.cache-ttl

Tempo de retenção do cache para metadados, incluindo estatísticas de tabelas e colunas.

O valor padrão 0 desativa o cache.

metadata.cache-missing

Indica se os resultados de buscas de metadados malsucedidas devem ser armazenados em cache, incluindo estatísticas de tabelas e colunas. Valores válidos:

  • true: Armazena a ausência em cache.

  • false (padrão): Não armazena a ausência em cache.

Exemplo: Consultar o MySQL

  1. Visualize o banco de dados RDS.

    1. Conecte-se ao cluster via SSH. Para mais informações, consulte Log on to a cluster.

    2. Execute o comando abaixo para conectar-se ao cliente Trino.

      • Cluster DataLake

        trino --server master-1-1:9090 --catalog iceberg --schema default
      • Cluster Hadoop ou Trino independente

        trino --server emr-header-1:9090 --catalog iceberg --schema default
    3. Execute o seguinte comando para visualizar o schema.

      SHOW schemas FROM mysql;
      Nota

      mysql corresponde ao nome do arquivo de configuração de propriedades.

    4. Execute o comando a seguir para visualizar o banco de dados.

      SHOW tables FROM mysql.web;
      Nota

      Nos exemplos deste artigo, web refere-se ao banco de dados criado no MySQL.

  2. Consulte os dados da tabela.

    • Consulte dados da tabela mysql.web.clicks.

      SELECT * FROM mysql.web.clicks;
    • Obtenha as informações das colunas da tabela mysql.web.clicks.

      SHOW columns FROM mysql.web.clicks;

      Como alternativa, execute o comando abaixo para descrever a tabela.

      DESCRIBE mysql.web.clicks;

Pushdown

Para obter detalhes sobre pushdown, consulte Pushdown na documentação do Trino.

O conector MySQL aplica pushdown nos seguintes operadores e funções:

  • Operadores

    • Join

    • Limit

    • Top-N

  • Funções

    • avg()

    • count()

    • max()

    • min()

    • sum()

    • stddev()

    • stddev_pop()

    • stddev_samp()

    • variance()

    • var_pop()

    • var_samp()