Todos os produtos
Search
Central de documentação

Object Storage Service:Acesse o OSS-HDFS pelo EMR Hive ou Spark

Última atualização: Sep 23, 2026

Clusters E-MapReduce (EMR) nas versões 3,42 ou posteriores, ou 5.8.0 ou posteriores, suportam o OSS-HDFS (JindoFS) como armazenamento de dados. O OSS-HDFS oferece aceleração de cache e autenticação via Ranger, o que melhora o desempenho e simplifica a migração do HDFS em cenários de ETL de big data com Hive ou Spark. Este tópico descreve como usar o Hive ou o Spark em um cluster EMR para acessar dados no OSS-HDFS.

Informações gerais

O OSS-HDFS é um service de armazenamento para data lake nativo em cloud. Com seu gerenciamento unificado de metadados, é totalmente compatível com a interface do sistema de arquivos HDFS e oferece suporte abrangente a POSIX. Isso o torna ideal para uma ampla variedade de cenários de computação em data lake envolvendo big data e IA. Para mais informações, consulte What is OSS-HDFS?.

Procedimento

Nota

Este tópico usa o Hive como exemplo para demonstrar como operar dados no OSS-HDFS. Siga etapas semelhantes para realizar as mesmas operações com o Spark.

  1. Faça login no cluster. Para mais informações, consulte Log on to a cluster.

  2. Crie uma tabela Hive que aponte para o OSS-HDFS.

    1. Execute o comando a seguir para entrar na linha de comando do Hive.

      hive
    2. Execute o comando a seguir para crie um banco de dados que aponte para o OSS-HDFS.

      CREATE DATABASE if not exists dw LOCATION 'oss://{yourHdfsBucketDomain}/{path}';

      Descrição dos parâmetros:

      • dw: O nome do banco de dados. Você pode personalizar este nome.

      • {path}: O caminho no OSS-HDFS para armazenar o banco de dados. Você pode personalizar este caminho.

      • {yourHdfsBucketDomain}: O nome de domínio do bucket para o service OSS-HDFS.

        • Para obter o endpoint, acesse o OSS console e navegue até o bucket desejado. Na aba Overview, na seção Access Ports, copie o endpoint completo do bucket referente ao OSS-HDFS.

      Nota

      Este exemplo usa o nome de domínio do OSS-HDFS como prefixo do caminho. Caso queira usar apenas o nome do bucket para apontar para o OSS-HDFS, configure um endpoint no nível do bucket ou um endpoint global. Para mais informações, consulte Appendix 1: Other ways to configure an endpoint.

    3. Execute o comando a seguir para usar o novo banco de dados.

      use dw;
    4. Execute o comando a seguir para criar uma tabela no novo banco de dados.

      CREATE TABLE IF NOT EXISTS employee(eid int, name String,salary String,destination String)
      COMMENT 'Employee details';
  3. Insira dados na tabela.

    Use a instrução INSERT INTO para gravar dados na tabela. Essa instrução gera um job MapReduce.

    INSERT INTO employee(eid, name, salary, destination) values(1, 'John Doe', '100.0', '');
  4. Verifique os dados da tabela.

    SELECT * FROM employee WHERE eid = 1;

    A saída exibe os dados inseridos anteriormente.

    OK
    1       John Doe 100.0
    Time taken: 12.379 seconds, Fetched: 1 row(s)