Todos os produtos
Search
Central de documentação

E-MapReduce:Connect to an external Hive Metastore service

Última atualização: Jul 20, 2026

O EMR Serverless Spark conecta-se a um serviço externo do Hive Metastore, permitindo o acesso aos dados armazenados. Configure essa conexão no workspace para gerencie e utilizar os recursos de dados com eficiência.

Pré-requisitos

Crie um workspace e uma sessão SQL. Para mais informações, consulte Create a workspace e Manage SQL sessions.

Limitações

  • Para usar o serviço do Hive Metastore, reinicie todas as sessões existentes no workspace.

  • Ao definir um serviço do Hive Metastore como catálogo de dados padrão, as tarefas de workflow passarão a usá-lo.

Procedimento

Etapa 1: Preparar o serviço do Hive Metastore

Nota

Este exemplo usa um serviço do Hive Metastore do EMR on ECS. Se você já tiver um serviço do Hive Metastore na VPC, pule esta etapa.

  1. Na página do EMR on ECS, crie um cluster DataLake que inclua o serviço Hive e defina Metadata como Built-in MySQL. Para mais informações, consulte Create a cluster.

  2. Use SSH para fazer login no nó mestre do cluster. Para mais informações, consulte Log on to a cluster.

  3. Execute o comando a seguir para acessar a CLI do Hive:

    hive
  4. Execute os comandos abaixo para criar uma tabela chamada dw_users no Object Storage Service (OSS) e inserir dados nela:

    CREATE TABLE `dw_users`(
      `name` string)
    LOCATION
      'oss://<yourBucket>/path/to/file';
    INSERT INTO dw_users select 'Bob';

Etapa 2: Adicionar uma conexão de rede

  1. Acesse a página de conexão de rede.

    1. Faça login no console do EMR.

    2. No painel de navegação à esquerda, escolha EMR Serverless > Spark.

    3. Na página Spark, clique em no nome do workspace desejado.

    4. Na página EMR Serverless Spark, clique em Normal Network Connection no painel de navegação à esquerda.

  2. Na página Normal Network Connection, clique em Create Network Connection.

  3. Na caixa de diálogo Create Network Connection, configure os parâmetros a seguir e clique em OK.

    Parâmetro

    Descrição

    Name

    Insira um nome para a nova conexão.

    VPC

    Selecione a mesma VPC do cluster EMR.

    vSwitch

    Escolha um vSwitch na mesma VPC do cluster EMR.

    Um Status como Succeeded indica que a conexão de rede foi adicionada com sucesso.

Etapa 3: Abrir a porta do serviço do Hive Metastore

  1. Obtenha o bloco CIDR do vSwitch da conexão de rede.

    Faça login no console da VPC e acesse a página vSwitch para obter o bloco CIDR do vSwitch.

  2. Adicione uma regra de grupo de segurança.

    1. Faça login no console do EMR on ECS.

    2. Na página EMR on ECS, clique em no ID do cluster desejado.

    3. Na página Basic Information, clique em no link ao lado de Cluster Security Group.

    4. Na página Security Group, clique em Add Rule. Especifique a Source e a Port e, em seguida, clique em OK.

      Parâmetro

      Descrição

      Port

      Insira 9083.

      Source

      Insira o bloco CIDR do vSwitch obtido na etapa anterior.

      Importante

      Para evitar riscos de segurança decorrentes de ataques externos, não defina a Source como 0.0.0.0/0.

Etapa 4: Conectar ao Hive Metastore

  1. Na página EMR Serverless Spark, clique em Catalogs no painel de navegação à esquerda.

  2. Na página Catalogs, clique em Add Catalog.

  3. Na caixa de diálogo exibida, clique em External Hive Metastore, configure as informações a seguir e clique em OK. Na aba External Hive Metastore, insira hive_metastore no campo Data Catalog Name e configure os parâmetros abaixo.

    Parâmetro

    Descrição

    Normal Network Connection

    Selecione a conexão de rede adicionada na Etapa 2.

    Metastore service address

    URI do serviço do Hive Metastore. O formato é thrift://<IP address of Hive metastore>:9083.

    O <IP address of Hive metastore> corresponde ao endereço IP interno do nó mestre no cluster EMR on ECS. Encontre essa informação na página Nodes do cluster.

    Nota

    Se o serviço do Hive Metastore usar alta disponibilidade (HA), insira as URIs de todos os nós relevantes, separadas por vírgulas (,). Exemplo: thrift://<IP address of Hive metastore 1>:9083,thrift://<IP address of Hive metastore 2>:9083.

    Kerberos keytab file

    Caminho para o arquivo keytab do Kerberos.

    Kerberos principal

    Nome do principal no arquivo keytab, usado para autenticação com o serviço Kerberos. Execute o comando klist -kt <keytab_file> para visualize o principal no arquivo keytab.

Etapa 5: Usar o Hive Metastore

  1. Na página Catalogs, localize a entrada hive_metastore e clique em Set as default na coluna Actions para defini-la como o catálogo de dados padrão do workspace.

  2. Reinicie a sessão SQL.

    Se houver uma sessão SQL em execução no workspace, reinicie-a para que as configurações do hive_metastore entrem em vigor.

  3. Consulte dados da tabela hive_metastore no job SparkSQL.

    1. Crie um job de desenvolvimento SparkSQL. Para mais informações, consulte SparkSQL development.

    2. Execute o comando a seguir para consultar a tabela dw_users no serviço do Hive Metastore:

      SELECT * FROM dw_users;

      A consulta retorna um registro com o valor Bob na coluna name.

Perguntas frequentes

Como acesso dados do HDFS?

A configuração varia conforme o cluster HDFS use ou não o modo de alta disponibilidade (HA).

  • Acesso a um caminho HDFS sem HA

    Quando o location de uma tabela aponta para um caminho HDFS sem HA, garanta que o nome de domínio no location esteja acessível. Por padrão, master-1-1.<cluster-id>.<region>.emr.aliyuncs.com é diretamente acessível. Para outros nomes de domínio, consulte Manage domain names para adicionar mapeamentos.

  • Acesso a um caminho HDFS com HA ativado

    Se o location de uma tabela apontar para um caminho HDFS com HA ativado, configure os mapeamentos de nome de domínio e crie um arquivo de configuração chamado hdfs-site.xml em Manage Custom Configuration Files. Salve o arquivo no caminho /etc/spark/conf para que o Java Runtime ou Fusion Runtime possa acessar os dados. O exemplo a seguir mostra as propriedades principais. Baseie o conteúdo completo no arquivo hdfs-site.xml do seu cluster EMR on ECS.

    <?xml version="1.0"?>
    <configuration>
      <property>
        <name>dfs.nameservices</name>
        <value>hdfs-cluster</value>
      </property>
      <property>
        <name>dfs.ha.namenodes.hdfs-cluster</name>
        <value>nn1,nn2,nn3</value>
      </property>
      <property>
        <name>dfs.namenode.rpc-address.hdfs-cluster.nn1</name>
        <value>master-1-1.<cluster-id>.<region-id>.emr.aliyuncs.com:<port></value>
      </property>
      <property>
        <name>dfs.namenode.rpc-address.hdfs-cluster.nn2</name>
        <value>master-1-2.<cluster-id>.<region-id>.emr.aliyuncs.com:<port></value>
      </property>
      <property>
        <name>dfs.namenode.rpc-address.hdfs-cluster.nn3</name>
        <value>master-1-3.<cluster-id>.<region-id>.emr.aliyuncs.com:<port></value>
      </property>
      <property>
        <name>dfs.client.failover.proxy.provider.hdfs-cluster</name>
        <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
      </property>
    </configuration>
  • (Opcional) Acesso a um caminho HDFS com Kerberos ativado

    Para acessar um caminho HDFS com Kerberos ativado, adicione a configuração Spark spark.kerberos.access.hadoopFileSystems. Defina o valor para corresponder ao parâmetro fs.defaultFS no cluster HDFS. Por exemplo, o valor padrão para um cluster EMR on ECS com HA é hdfs://hdfs-cluster.