HDFS

O conector do HDFS permite realizar ações de inserção, exclusão, atualização e leitura nos dados do HDFS.

Versões compatíveis

Esse conector é compatível com a versão 3.4.0 do HDFS Hadoop.

Antes de começar

Antes de usar o conector do HDFS, faça o seguinte:

  • No seu projeto do Google Cloud, faça o seguinte:
    • Conceda o papel do IAM roles/connectors.admin ao usuário que está configurando o conector.
    • Conceda os seguintes papéis de IAM à conta de serviço que você quer usar para o conector:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      Uma conta de serviço é um tipo especial de Conta do Google destinada a representar um usuário não humano que precisa ser autenticado e autorizado a acessar dados nas APIs do Google. Se você não tiver uma conta de serviço, será necessário criar uma. Para mais informações, consulte Como criar uma conta de serviço.

    • Ative os seguintes serviços:
      • secretmanager.googleapis.com (API Secret Manager)
      • connectors.googleapis.com (API Connectors)

      Para entender como ativar os serviços, consulte Como ativar serviços.

    Se esses serviços ou permissões não tiverem sido ativados no seu projeto, você precisará ativá-los ao configurar o conector.

Configurar o conector

Uma conexão é específica a uma fonte de dados. Isso significa que, se você tiver muitas fontes de dados, precisará criar uma conexão separada para cada uma. Para criar uma conexão, faça o seguinte:

  1. No console do Cloud, acesse a página Integration Connectors > Conexões e selecione ou crie um projeto do Google Cloud.

    Acessar a página "Conexões"

  2. Clique em + CRIAR NOVO para abrir a página Criar conexão.
  3. Na seção Local, escolha o local da conexão.
    1. Região: selecione um local na lista suspensa.

      Para conferir a lista de todas as regiões com suporte, consulte Locais.

    2. Clique em PRÓXIMA.
  4. Na seção Detalhes da conexão, faça o seguinte:
    1. Conector: selecione HDFS na lista suspensa de conectores disponíveis.
    2. Versão do conector: selecione a versão do conector na lista suspensa de versões disponíveis.
    3. No campo Nome da conexão, insira um nome para a instância de conexão

      Os nomes de conexão precisam atender aos seguintes critérios:

      • Os nomes de conexões podem usar letras, números ou hifens.
      • As letras precisam ser minúsculas.
      • Os nomes das conexões precisam começar com uma letra e terminar com uma letra ou um número.
      • Os nomes das conexões não podem exceder 49 caracteres.
    4. Como opção, insira uma Descrição para a instância de conexão.
    5. Se quiser, ative o Cloud Logging e selecione um nível de registro. Por padrão, o nível de registro é definido como Error.
    6. Conta de serviço: selecione uma conta de serviço que tenha os papéis necessários.
    7. Caminho: especifique o caminho do HDFS a ser usado como diretório de trabalho.
    8. Opcionalmente, defina as Configurações do nó de conexão:

      • Número mínimo de nós: digite o número mínimo de nós de conexão.
      • Número máximo de nós: digite o número máximo de nós de conexão.

      Um nó é uma unidade (ou réplica) de uma conexão que processa transações. Mais nós são necessários para processar mais transações para uma conexão e, por outro lado, menos nós são necessários para processar menos transações. Para entender como os nós afetam os preços do conector, consulte Preços dos nós de conexão. Se você não inserir qualquer valor, por padrão, os nós mínimos serão definidos como 2 (para melhor disponibilidade) e os nós máximos serão definidos como 50.

    9. Outra opção é clicar em + ADICIONAR MARCADOR para adicionar um rótulo à conexão na forma de um par de chave-valor.
    10. Clique em PRÓXIMA.
  5. Na seção Destinos, insira os detalhes do host remoto (sistema de back-end) ao qual você quer se conectar.
    1. Tipo de destino: selecione um Tipo de destino.
      • Para especificar o nome do host ou o endereço IP de destino, selecione Endereço do host e insira o endereço no campo Host 1.
      • Para estabelecer uma conexão particular, selecione Anexo de endpoint e escolha o anexo necessário na lista Anexo de endpoint.

      Para estabelecer uma conexão pública com os sistemas de back-end com mais segurança, considere configurar endereços IP de saída estáticos para suas conexões e configure as regras de firewall para autorizar apenas os endereços IP estáticos específicos.

      Para inserir outros destinos, clique em +ADICIONAR DESTINO.

    2. Clique em PRÓXIMA.
  6. Na seção Autenticação, insira os detalhes da autenticação.
    1. Selecione um Tipo de autenticação e insira os detalhes relevantes.

      A conexão HDFS oferece suporte aos seguintes tipos de autenticação:

      • Nome de usuário e senha

      Para entender como configurar esses tipos de autenticação, consulte Configurar autenticação.

    2. Clique em PRÓXIMA.
  7. Revisão: revise os detalhes de conexão e autenticação.
  8. Clique em Criar.

Configurar a autenticação

Digite os detalhes com base na autenticação que você quer usar.

  • Nome de usuário e senha
    • Nome de usuário: digite o nome de usuário a ser usado para a conexão do HDFS.
    • Senha : insira o secret do Secret Manager que contém a senha associada ao nome de usuário.
    • Versão do secret: selecione a versão do secret escolhido acima.

Exemplos de configuração de conexão

Esta seção lista os valores de amostra para os vários campos que você configura ao criar a conexão.

Tipo de conexão com nome de usuário e senha

Nome do campo Detalhes
Local europe-west1
Conector HDFS
Versão do conector 1
Nome da conexão hdfs-v24-new
Conta de serviço my-service-account@my-project.iam.gserviceaccount.com
Número mínimo de nós 2
Número máximo de nós 2
Tipo de destino Endereço do host
Host 10.128.0.
port1 10000
Nome de usuário Usuário 1
Senha SENHA
Versão do secret 1

Limitações do sistema

O conector HDFS pode processar no máximo 20 transações por segundo, por , e limita qualquer transação além desse limite. Por padrão, o Integration Connectors aloca dois nós (para melhor disponibilidade) para uma conexão.

Para informações sobre os limites aplicáveis aos Integration Connectors, consulte Limites.

Usar a conexão HDFS em uma integração

Depois de criar a conexão, ela fica disponível na integração da Apigee e Application Integration. É possível usar a conexão em uma integração pela tarefa de conectores.

  • Para entender como criar e usar a tarefa "Conectores" na integração da Apigee, consulte Tarefa "Conectores".
  • Para entender como criar e usar a tarefa "Conectores" na Application Integration, consulte Tarefa "Conectores".

Ações

Nesta seção, mostramos como realizar algumas das ações neste conector.

Ação MakeDirectory

Essa ação cria um diretório no caminho especificado.

Parâmetros de entrada da ação MakeDirectory

Nome do parâmetro Tipo de dados Obrigatório Descrição
Permissão String Falso As permissões para criar um novo diretório.
Caminho String Verdadeiro O caminho do novo diretório.

Para ver um exemplo de como configurar a ação MakeDirectory, consulte Exemplos.

Ação ListStatus

Essa ação lista o conteúdo do caminho fornecido.

Parâmetros de entrada da ação ListStatus

Nome do parâmetro Tipo de dados Obrigatório Descrição
Caminho String Verdadeiro O caminho do arquivo.

Para ver um exemplo de como configurar a ação ListStatus, consulte Exemplos.

Ação GetHomeDirectory

Essa ação recebe o diretório inicial do usuário atual.

Parâmetros de entrada da ação GetHomeDirectory

Nome do parâmetro Tipo de dados Obrigatório Descrição
connectorInputPayload JSON Verdadeiro O payload de entrada do conector.

Para ver um exemplo de como configurar a ação GetHomeDirectory, consulte Exemplos.

Ação DeleteFile

Essa ação exclui um arquivo ou diretório.

Parâmetros de entrada da ação DeleteFile

Nome do parâmetro Tipo de dados Obrigatório Descrição
Caminho String Verdadeiro O caminho do arquivo.
Recursivo Booleano Falso Especifica se as subpastas de uma pasta devem ser excluídas.

Para ver um exemplo de como configurar a ação DeleteFile, consulte Exemplos.

Ação GetContentSummary

Essa ação recebe o resumo do conteúdo de um arquivo ou pasta.

Parâmetros de entrada da ação GetContentSummary

Nome do parâmetro Tipo de dados Obrigatório Descrição
Caminho String Verdadeiro O caminho do arquivo ou da pasta.

Para ver um exemplo de como configurar a ação GetContentSummary, consulte Exemplos.

Ação RenameFile

Essa ação renomeia um arquivo ou diretório.

Parâmetros de entrada da ação RenameFile

Nome do parâmetro Tipo de dados Obrigatório Descrição
path String Verdadeiro O caminho do arquivo.
destino String Verdadeiro Especifica o novo nome e caminho do arquivo.

Para ver um exemplo de como configurar a ação RenameFile, consulte Exemplos.

Ação SetPermission

Essa ação define a permissão de um caminho.

Parâmetros de entrada da ação SetPermission

Nome do parâmetro Tipo de dados Obrigatório Descrição
Caminho String Verdadeiro O caminho do arquivo.
Permissão String Verdadeiro Especifica as permissões do Unix em uma notação octal (base 8).

Para ver um exemplo de como configurar a ação SetPermission, consulte Exemplos.

Ação SetPermission

Essa ação define a permissão de um caminho.

Parâmetros de entrada da ação SetPermission

Nome do parâmetro Tipo de dados Obrigatório Descrição
Caminho String Verdadeiro O caminho do arquivo.
Permissão String Verdadeiro Especifica as permissões do Unix em uma notação octal (base 8).

Para ver um exemplo de como configurar a ação SetPermission, consulte Exemplos.

Ação SetOwner

Essa ação define um proprietário e um grupo de um caminho.

Parâmetros de entrada da ação SetOwner

Nome do parâmetro Tipo de dados Obrigatório Descrição
Caminho String Verdadeiro O caminho do arquivo.
Proprietário String Verdadeiro O novo proprietário do caminho.
grupo String Falso O nome do novo grupo.

Para ver um exemplo de como configurar a ação SetOwner, consulte Exemplos.

Ação UploadFile

Essa ação faz upload de um arquivo.

Parâmetros de entrada da ação UploadFile

Nome do parâmetro Tipo de dados Obrigatório Descrição
path String Verdadeiro O caminho do arquivo.
Conteúdo String Verdadeiro O conteúdo do arquivo enviado.

Para ver um exemplo de como configurar a ação UploadFile, consulte Exemplos.

Ação DownloadFile

Essa ação faz o download de um arquivo.

Parâmetros de entrada da ação DownloadFile

Nome do parâmetro Tipo de dados Obrigatório Descrição
path String Verdadeiro O caminho do arquivo.
WriteToFile String Falso O local do arquivo em que a saída é gravada.

Para ver um exemplo de como configurar a ação DownloadFile, consulte Exemplos.

Ação AppendToFile

Essa ação anexa um arquivo.

Parâmetros de entrada da ação AppendToFile

Nome do parâmetro Tipo de dados Obrigatório Descrição
path String Verdadeiro O caminho do arquivo.
Conteúdo String Verdadeiro O conteúdo a ser anexado ao arquivo.

Para ver um exemplo de como configurar a ação AppendToFile, consulte Exemplos.

Ação GetFileChecksum

Essa ação recebe o checksum de um arquivo.

Parâmetros de entrada da ação GetFileChecksum

Nome do parâmetro Tipo de dados Obrigatório Descrição
path String Verdadeiro O caminho do arquivo.

Para ver um exemplo de como configurar a ação GetFileChecksum, consulte Exemplos.

Exemplos de ações

Nesta seção, mostramos como realizar alguns dos exemplos de ações neste conector.

Exemplo: criar um diretório

  1. Na caixa de diálogo Configure connector task, clique em Actions.
  2. Selecione a ação MakeDirectory e clique em Concluído.
  3. Na seção Mapeamento de dados Open Data Mapping Editor e insira um valor semelhante ao seguinte no campo Input:
    {
      "Path": "/user/hduser"
    }
    
  4. Se a ação for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa do conector terá um valor semelhante a este:

    [{
      "Success": true
    }]
    

Exemplo: como acessar o diretório inicial

  1. Na caixa de diálogo Configure connector task, clique em Actions.
  2. Selecione a ação GetHomeDirectory e clique em Concluído.
  3. Na seção Mapeamento de dados Open Data Mapping Editor e insira um valor semelhante ao seguinte no campo Input:
      {}
    
  4. Se a ação for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa do conector terá um valor semelhante a este:

    [{
      "Path": "/user/hduser"
    }]
    

Exemplo: excluir um arquivo

  1. Na caixa de diálogo Configure connector task, clique em Actions.
  2. Selecione a ação DeleteFile e clique em Concluído.
  3. Na seção Mapeamento de dados Open Data Mapping Editor e insira um valor semelhante ao seguinte no campo Input:
    {
      "Path": "/user/hduser/testFile"
    }
    
  4. Se a ação for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa do conector terá um valor semelhante a este:

    [{
      "Success": true
    }]
    

Exemplo: listar o status de um arquivo

  1. Na caixa de diálogo Configure connector task, clique em Actions.
  2. Selecione a ação ListStatus e clique em Concluído.
  3. Na seção Mapeamento de dados Open Data Mapping Editor e insira um valor semelhante ao seguinte no campo Input:
    {
      "path": "/user/hduser/deletefile"
    }
    
  4. Se a ação for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa do conector terá um valor semelhante a este:

    [{
      "fileId": 16471.0,
      "PathSuffix": "data.txt",
      "owner": "hduser",
      "group": "supergroup",
      "length": 38.0,
      "permission": "644",
      "replication": 1.0,
      "storagePolicy": 0.0,
      "childrenNum": 0.0,
      "blockSize": 1.34217728E8,
      "modificationTime": "2024-08-16 16:12:01.921",
      "accessTime": "2024-08-16 16:12:01.888",
      "type": "FILE"
    }, {
      "fileId": 16469.0,
      "PathSuffix": "file2.txt",
      "owner": "hduser",
      "group": "supergroup",
      "length": 53.0,
      "permission": "644",
      "replication": 1.0,
      "storagePolicy": 0.0,
      "childrenNum": 0.0,
      "blockSize": 1.34217728E8,
      "modificationTime": "2024-08-16 16:12:01.762",
      "accessTime": "2024-08-16 16:12:01.447",
      "type": "FILE"
    }]
    

Exemplo: receber um resumo do conteúdo de um arquivo

  1. Na caixa de diálogo Configure connector task, clique em Actions.
  2. Selecione a ação GetContentSummary e clique em Concluído.
  3. Na seção Mapeamento de dados Open Data Mapping Editor e insira um valor semelhante ao seguinte no campo Input:
    {
      "Path": "/user/hduser/appendtofile"
    }
    
  4. Se a ação for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa do conector terá um valor semelhante a este:

      [{
      "DirectoryCount": "1",
      "FileCount": "1",
      "Length": 52.0,
      "Quota": -1.0,
      "SpaceConsumed": 52.0,
      "SpaceQuota": -1.0,
      "ecpolicy": "",
      "snapshotdirectorycount": "0",
      "snapshotfilecount": "0",
      "snapshotlength": "0",
      "snapshotspaceconsumed": "0"
    }]
    

Exemplo: renomear um arquivo

  1. Na caixa de diálogo Configure connector task, clique em Actions.
  2. Selecione a ação hdfs_RenameFile_action e clique em Concluído.
  3. Na seção Mapeamento de dados Open Data Mapping Editor e insira um valor semelhante ao seguinte no campo Input:
    {
      "Path": "/user/hduser/renamefile_second/file1.txt",
      "Destination": "/user/hduser/renamefile_second/file1rename"
    }
    
  4. Se a ação for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa do conector terá um valor semelhante a este:

    [{
      "Success": true
    }]
    

Exemplo: definir permissão de um arquivo

  1. Na caixa de diálogo Configure connector task, clique em Actions.
  2. Selecione a ação SetPermission e clique em Concluído.
  3. Na seção Mapeamento de dados Open Data Mapping Editor e insira um valor semelhante ao seguinte no campo Input:
    {
      "Path": "/user/hduser/gcpdirectory",
      "Permission": "777"
    }
    
  4. Se a ação for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa do conector terá um valor semelhante a este:

    [{
      "Success": true
    }]
    

Exemplo: definir o proprietário de um arquivo

  1. Na caixa de diálogo Configure connector task, clique em Actions.
  2. Selecione a ação SetOwner e clique em Concluído.
  3. Na seção Mapeamento de dados Open Data Mapping Editor e insira um valor semelhante ao seguinte no campo Input:
    {
      "Path": "/user/hduser/gcpdirectory",
      "Owner": "newowner"
    }
    
  4. Se a ação for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa do conector terá um valor semelhante a este:

    [{
      "Success": true
    }]
    

Exemplo: fazer upload de um arquivo

  1. Na caixa de diálogo Configure connector task, clique em Actions.
  2. Selecione a ação UploadFile e clique em Concluído.
  3. Na seção Mapeamento de dados Open Data Mapping Editor e insira um valor semelhante ao seguinte no campo Input:
       { "Path": "/user/newfile9087.txt", "Content": "string" }
    
  4. Se a ação for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa do conector terá um valor semelhante a este:

    [{
      "Success": true
    }]
    

Exemplo: fazer o download de um arquivo

  1. Na caixa de diálogo Configure connector task, clique em Actions.
  2. Selecione a ação DownloadFile e clique em Concluído.
  3. Na seção Mapeamento de dados Open Data Mapping Editor e insira um valor semelhante ao seguinte no campo Input:
    { "Path": "/user/sampleFile/file1.txt" }
    
  4. Se a ação for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa do conector terá um valor semelhante a este:

    [ { "Output": "This is sample File\nfor this testing\ncontent" } ]
    

Exemplo: anexar um arquivo

  1. Na caixa de diálogo Configure connector task, clique em Actions.
  2. Selecione a ação AppendToFile e clique em Concluído.
  3. Na seção Mapeamento de dados Open Data Mapping Editor e insira um valor semelhante ao seguinte no campo Input:
    { "Path": "/user/sampleFile/file1.txt", "Content": "content" }
    
  4. Se a ação for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa do conector terá um valor semelhante a este:

    [ { "Success": true } ]
    

Exemplo: como receber a soma de verificação de um arquivo

  1. Na caixa de diálogo Configure connector task, clique em Actions.
  2. Selecione a ação GetFileChecksum e clique em Concluído.
  3. Na seção Mapeamento de dados Open Data Mapping Editor e insira um valor semelhante ao seguinte no campo Input:
    { "Path": "/user/sampleFile/file1.txt" }
    
  4. Se a ação for bem-sucedida, o parâmetro de resposta connectorOutputPayload da tarefa do conector terá um valor semelhante a este:

    [ { "Algorithm": "MD5-of-0MD5-of-512CRC32C", "Bytes": "00000200000000000000000080f5b53ae8c165ae56e86109b8bb2a1700000000", "Length": 28 } ]
    

Exemplos de operações de entidade

Nesta seção, mostramos como realizar algumas das operações de entidade neste conector.

Exemplo: listar dados de todos os arquivos

Este exemplo busca os dados de todos os arquivos na entidade Files.

  1. Na caixa de diálogo Configure connector task, clique em Entities.
  2. Selecione Object na lista Entity.
  3. Selecione a operação List e clique em Concluído.

Exemplo: receber dados de uma permissão

Este exemplo recebe os dados da permissão com o ID especificado da entidade Permission.

  1. Na caixa de diálogo Configure connector task, clique em Entities.
  2. Selecione Permission na lista Entity.
  3. Selecione a operação Get e clique em Concluído.
  4. Na seção Entrada da tarefa da tarefa Conectores, clique em EntityId e insira /user/hduser/appendfile no campo Valor padrão.

    Aqui, /user/hduser/appendfile é um ID exclusivo na entidade Permission.

Receber ajuda da comunidade do Google Cloud

Poste suas dúvidas e converse sobre esse conector na comunidade do Google Cloud em Fóruns do Cloud.

A seguir