Todos os produtos
Search
Central de documentação

Object Storage Service:Acesse o OSS-HDFS a partir do EMR Hive ou Spark

Última atualização: Jul 03, 2026

Clusters do E-MapReduce (EMR) nas versões 3.42 ou posterior, ou 5.8.0 ou posterior, oferecem suporte ao OSS-HDFS (JindoFS) como armazenamento de dados. O OSS-HDFS fornece aceleração de cache e autenticação Ranger, melhorando o desempenho e simplificando 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 do EMR para acessar dados no OSS-HDFS.

Informações básicas

O OSS-HDFS é um serviço de armazenamento de data lake nativo da nuvem. Com gerenciamento unificado de metadados, ele é totalmente compatível com a interface do sistema de arquivos HDFS e oferece suporte abrangente ao POSIX. Essas características o tornam ideal para diversos cenários de computação de data lake em big data e IA. Para mais informações, consulte O que é o OSS-HDFS?.

Procedimento

Nota

Este tópico usa o Hive como exemplo para demonstrar a operação de dados no OSS-HDFS. Siga etapas semelhantes para executar o mesmo procedimento com o Spark.

  1. Faça login no cluster. Para mais informações, consulte Fazer login em um cluster.

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

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

      hive
    2. Execute o comando a seguir para criar 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: Nome do banco de dados. Personalize esse nome conforme necessário.

      • {path}: Caminho no OSS-HDFS para armazenar o banco de dados. Personalize esse caminho conforme necessário.

      • {yourHdfsBucketDomain}: Nome de domínio do bucket para o serviço OSS-HDFS.

        • Para obter o endpoint, faça login no OSS console. Acesse o bucket desejado. Na aba Overview, na seção Access Ports, copie o endpoint completo do bucket referente ao OSS-HDFS.

      Nota

      Este exemplo utiliza o nome de domínio do OSS-HDFS como prefixo do caminho. Para usar apenas o nome do bucket como referência ao OSS-HDFS, configure um endpoint no nível do bucket ou um endpoint global. Para mais detalhes, consulte Apêndice 1: Outras formas de configurar um 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 inclui os dados inseridos.

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