Todos os produtos
Search
Central de documentação

E-MapReduce:Acesse o OSS-HDFS a partir do EMR Hive ou Spark

Última atualização: Jun 27, 2026

Clusters E-MapReduce (EMR) com versão 3,42 ou posterior, ou versão 5.8.0 ou posterior, suportam o OSS-HDFS (JindoFS) como armazenamento de dados. O OSS-HDFS oferece aceleração de cache e autenticação Ranger, o que melhora o desempenho e simplifica a migração do HDFS para 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 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 fornece 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 obter mais informações, consulte O que é o OSS-HDFS?.

Pré-requisitos

Crie um cluster EMR. Para obter mais informações, consulte Criar um cluster.

Procedimento

  1. Etapa 1: Ativar o OSS-HDFS

  2. Etapa 2: Obter o endpoint do OSS-HDFS

  3. Etapa 3: Usar o OSS-HDFS em um cluster EMR

Etapa 1: Ativar o OSS-HDFS

Ative o OSS-HDFS e conceda as permissões de acesso necessárias. Para obter mais informações, consulte Ativar o OSS-HDFS.

Etapa 2: Obter o endpoint do OSS-HDFS

Na página

Overview

do seu bucket no console OSS, localize a seção

Access Domain Names

e copie o endpoint da linha

HDFS Service

. Esse endpoint é necessário para criar uma tabela Hive na

Etapa 3: Usar o OSS-HDFS em um cluster EMR

. O formato do endpoint é

<Bucket-name>.<region>.oss-dls.aliyuncs.com

.

Etapa 3: Usar o OSS-HDFS em um cluster EMR

Nota

Este tópico usa o Hive como exemplo para demonstrar como operar dados no OSS-HDFS. Siga etapas semelhantes para realizar o mesmo procedimento com o Spark.

  1. Faça logon no cluster. Para obter mais informações, consulte Fazer logon em um 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 criar um banco de dados que aponte para o OSS-HDFS.

      CREATE DATABASE if not exists dw LOCATION 'oss://<your-oss-hdfs-endpoint>/<path>';
      Nota
    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';
    5. Execute o comando a seguir para visualizar as informações da tabela.

      desc formatted employee;

      A saída retornada será semelhante à mostrada abaixo. O campo

      Location

      indica que a tabela aponta para um caminho no OSS-HDFS.

      # col_name              data_type               comment
      eid                     int
      name                    string
      salary                  string
      destination             string
      # Detailed Table Information
      Database:               dw
      Owner:                  root
      CreateTime:             Fri May 06 16:40:06 CST 2022
      LastAccessTime:         UNKNOWN
      Retention:              0
      Location:               oss://****.cn-hangzhou.oss-dls.aliyuncs.com/dw/employee
      Table Type:             MANAGED_TABLE
  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)

Autorizar o cluster EMR

Se o seu cluster EMR não usar a função RAM de instância padrão AliyunECSInstanceForEMRRole, conceda permissões ao cluster.

A função RAM de instância AliyunECSInstanceForEMRRole está associada à política AliyunECSInstanceForEMRRolePolicy, que inclui a permissão oss:PostDataLakeStorageFileOperation por padrão. Portanto, clusters que usam a função padrão podem acessar o OSS-HDFS sem autorização adicional.