Todos os produtos
Search
Central de documentação

Object Storage Service:Usar o Apache Sqoop em um cluster EMR para ler e gravar dados armazenados no OSS-HDFS

Última atualização: Jul 03, 2026

Este tópico descreve como usar o Apache Sqoop em um cluster E-MapReduce (EMR) para ler e gravar dados armazenados no OSS-HDFS.

Pré-requisitos

  • Crie um cluster EMR com a versão V3.42.0 ou posterior, ou V5.8.0 ou posterior, e selecione o componente Sqoop. Para mais informações, consulte Criar um cluster.

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

Procedimento

  1. Conecte-se ao cluster EMR.

    1. Faça login no console EMR. No painel de navegação à esquerda, clique em EMR on ECS.

    2. Clique em o cluster EMR criado.

    3. Clique em a aba Nodes e clique em o ícone + à esquerda do grupo de nós.

    4. Clique em o ID da ECS. Na página Instances, clique em Connect ao lado do ID da instância.

    Para fazer login no cluster em um ambiente Windows ou Linux com par de chaves SSH ou senha, consulte Fazer login em um cluster.

  2. Importe dados do OSS-HDFS para o MySQL.

    sudo sqoop import --connect  <dburi>/<dbname> --username <username> --password <password> --table <tablename> --target-dir <oss-dir>  --temporary-rootdir <oss-tmpdir> --check-column <col> --incremental <mode> --last-value <value> --as-<format> -m <count>
    • A tabela a seguir descreve os parâmetros do comando.

      Parâmetro

      Obrigatório

      Descrição

      dburi

      Sim

      URI de conexão do banco de dados. Exemplo: jdbc:mysql://192.168.xxx.xxx:3306/.

      dbname

      Sim

      Nome do banco de dados.

      username

      Sim

      Nome de usuário para login no banco de dados.

      password

      Sim

      Senha do usuário do banco de dados.

      tablename

      Sim

      Nome da tabela MySQL.

      oss-dir

      Sim

      Diretório de destino no OSS-HDFS para os dados importados. Exemplo: oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/dir/.

      oss-tmpdir

      Não

      Diretório temporário para o trabalho de importação. Obrigatório para o modo de importação incremental 'append'.

      Se o parâmetro mode for definido como append, o Apache Sqoop importa os dados para um diretório temporário e depois renomeia e armazena os arquivos no diretório de destino. Se o diretório de destino já existir no OSS-HDFS, o Apache Sqoop não importará dados nem sobrescreverá o conteúdo existente.

      col

      Não

      Coluna de verificação para importação incremental.

      mode

      Não

      Modo de importação incremental. Valores válidos: append e lastmodified.

      • append: importa dados incrementalmente com base em uma coluna de incremento automático.

      • lastmodified: importa dados incrementalmente com base em uma coluna de carimbo de data/hora.

      value

      Não

      Valor máximo da coluna de verificação da importação incremental anterior.

      format

      Não

      Formato do arquivo de saída. Valores válidos: avrodatafile, sequencefile, textfile (padrão) e parquetfile.

      count

      Não

      Número de tarefas MapReduce.

    • Exemplo

      O código abaixo mostra como importar dados de um diretório específico do examplebucket para a tabela src_kv no MySQL:

      sqoop import --connect jdbc:mysql://master-1-1/sqoop_test --username root --password password1  --table src_kv -m 1 --target-dir oss://examplebucket.cn-hangzhou.oss-dls.aliyuncs.com/tmp/sqoop_kv --as-parquetfile