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:
- No console do Cloud, acesse a página Integration Connectors > Conexões e selecione ou crie um projeto do Google Cloud.
- Clique em + CRIAR NOVO para abrir a página Criar conexão.
- Na seção Local, escolha o local da conexão.
- Região: selecione um local na lista suspensa.
Para conferir a lista de todas as regiões com suporte, consulte Locais.
- Clique em PRÓXIMA.
- Região: selecione um local na lista suspensa.
- Na seção Detalhes da conexão, faça o seguinte:
- Conector: selecione HDFS na lista suspensa de conectores disponíveis.
- Versão do conector: selecione a versão do conector na lista suspensa de versões disponíveis.
- 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.
- Como opção, insira uma Descrição para a instância de conexão.
- Se quiser, ative o Cloud Logging e selecione um nível de registro. Por padrão, o nível de registro é definido como
Error
. - Conta de serviço: selecione uma conta de serviço que tenha os papéis necessários.
- Caminho: especifique o caminho do HDFS a ser usado como diretório de trabalho.
- 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.
- Outra opção é clicar em + ADICIONAR MARCADOR para adicionar um rótulo à conexão na forma de um par de chave-valor.
- Clique em PRÓXIMA.
- Na seção Destinos, insira os detalhes do host remoto (sistema de back-end) ao qual você quer se conectar.
- 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.
- Clique em PRÓXIMA.
- Tipo de destino: selecione um Tipo de destino.
-
Na seção Autenticação, insira os detalhes da autenticação.
- 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.
- Clique em PRÓXIMA.
- Selecione um Tipo de autenticação e insira os detalhes relevantes.
- Revisão: revise os detalhes de conexão e autenticação.
- 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 nó, 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
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
MakeDirectory
e clique em Concluído. - Na seção Mapeamento de dados
Open Data Mapping Editor
e insira um valor semelhante ao seguinte no campoInput
:{ "Path": "/user/hduser" }
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
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
GetHomeDirectory
e clique em Concluído. - Na seção Mapeamento de dados
Open Data Mapping Editor
e insira um valor semelhante ao seguinte no campoInput
:{}
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
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
DeleteFile
e clique em Concluído. - Na seção Mapeamento de dados
Open Data Mapping Editor
e insira um valor semelhante ao seguinte no campoInput
:{ "Path": "/user/hduser/testFile" }
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
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
ListStatus
e clique em Concluído. - Na seção Mapeamento de dados
Open Data Mapping Editor
e insira um valor semelhante ao seguinte no campoInput
:{ "path": "/user/hduser/deletefile" }
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
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
GetContentSummary
e clique em Concluído. - Na seção Mapeamento de dados
Open Data Mapping Editor
e insira um valor semelhante ao seguinte no campoInput
:{ "Path": "/user/hduser/appendtofile" }
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
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
hdfs_RenameFile_action
e clique em Concluído. - Na seção Mapeamento de dados
Open Data Mapping Editor
e insira um valor semelhante ao seguinte no campoInput
:{ "Path": "/user/hduser/renamefile_second/file1.txt", "Destination": "/user/hduser/renamefile_second/file1rename" }
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
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
SetPermission
e clique em Concluído. - Na seção Mapeamento de dados
Open Data Mapping Editor
e insira um valor semelhante ao seguinte no campoInput
:{ "Path": "/user/hduser/gcpdirectory", "Permission": "777" }
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
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
SetOwner
e clique em Concluído. - Na seção Mapeamento de dados
Open Data Mapping Editor
e insira um valor semelhante ao seguinte no campoInput
:{ "Path": "/user/hduser/gcpdirectory", "Owner": "newowner" }
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
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
UploadFile
e clique em Concluído. - Na seção Mapeamento de dados
Open Data Mapping Editor
e insira um valor semelhante ao seguinte no campoInput
:{ "Path": "/user/newfile9087.txt", "Content": "string" }
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
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
DownloadFile
e clique em Concluído. - Na seção Mapeamento de dados
Open Data Mapping Editor
e insira um valor semelhante ao seguinte no campoInput
:{ "Path": "/user/sampleFile/file1.txt" }
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
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
AppendToFile
e clique em Concluído. - Na seção Mapeamento de dados
Open Data Mapping Editor
e insira um valor semelhante ao seguinte no campoInput
:{ "Path": "/user/sampleFile/file1.txt", "Content": "content" }
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
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
GetFileChecksum
e clique em Concluído. - Na seção Mapeamento de dados
Open Data Mapping Editor
e insira um valor semelhante ao seguinte no campoInput
:{ "Path": "/user/sampleFile/file1.txt" }
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
.
- Na caixa de diálogo
Configure connector task
, clique emEntities
. - Selecione
Object
na listaEntity
. - 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
.
- Na caixa de diálogo
Configure connector task
, clique emEntities
. - Selecione
Permission
na listaEntity
. - Selecione a operação
Get
e clique em Concluído. - 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 entidadePermission
.
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
- Entenda como suspender e retomar uma conexão.
- Entenda como monitorar o uso do conector.
- Saiba como ver os registros do conector.