HDFS
O conetor HDFS permite-lhe realizar ações de inserção, eliminação, atualização e leitura nos dados HDFS.
Versões suportadas
Este conetor suporta a versão 3.4.0 do HDFS Hadoop.
Antes de começar
Antes de usar o conetor HDFS, conclua as seguintes tarefas:
- No seu projeto do Google Cloud:
- Conceda a função IAM roles/connectors.admin ao utilizador que está a configurar o conetor.
- Conceda as seguintes funções de IAM à conta de serviço que quer usar para o conector:
roles/secretmanager.viewer
roles/secretmanager.secretAccessor
Uma conta de serviço é um tipo especial de Conta Google destinada a representar um utilizador não humano que precisa de autenticação e autorização para aceder a dados nas APIs Google. Se não tiver uma conta de serviço, tem de criar uma. O conector e a conta de serviço têm de pertencer ao mesmo projeto. Para mais informações, consulte Criar uma conta de serviço.
- Ative os seguintes serviços:
secretmanager.googleapis.com
(Secret Manager API)connectors.googleapis.com
(API Connectors)
Para saber como ativar serviços, consulte o artigo Ativar serviços.
Se estes serviços ou autorizações não tiverem sido ativados anteriormente para o seu projeto, é-lhe pedido que os ative quando configurar o conector.
Configure o conetor
Uma associação é específica de uma origem de dados. Isto significa que, se tiver muitas origens de dados, tem de criar uma associação separada para cada origem de dados. Para criar uma associação, faça o seguinte:
- Na Cloud Console, aceda à página Integration Connectors > Ligações e, de seguida, selecione ou crie um projeto do Google Cloud.
- Clique em + CRIAR NOVO para abrir a página Criar associação.
- Na secção Localização, escolha a localização para a ligação.
- Região: selecione uma localização na lista pendente.
Para ver a lista de todas as regiões suportadas, consulte o artigo Localizações.
- Clique em SEGUINTE.
- Região: selecione uma localização na lista pendente.
- Na secção Detalhes da associação, conclua o seguinte:
- Conector: selecione HDFS na lista pendente de conectores disponíveis.
- Versão do conetor: selecione a versão do conetor na lista pendente de versões disponíveis.
- No campo Nome da ligação, introduza um nome para a instância de ligação.
Os nomes das associações têm de cumprir os seguintes critérios:
- Os nomes das associações podem usar letras, números ou hífenes.
- As letras têm de ser minúsculas.
- Os nomes das associações têm de começar com uma letra e terminar com uma letra ou um número.
- Os nomes das associações não podem exceder 49 carateres.
- Opcionalmente, introduza uma Descrição para a instância de associação.
- Opcionalmente, ative o Registo na nuvem e, em seguida, selecione um nível de registo. Por predefinição, o nível do registo está definido como
Error
. - Conta de serviço: selecione uma conta de serviço que tenha as funções necessárias.
- Caminho: especifique o caminho do HDFS a usar como diretório de trabalho.
- Opcionalmente, configure as definições do nó de associação:
- Número mínimo de nós: introduza o número mínimo de nós de ligação.
- Número máximo de nós: introduza o número máximo de nós de ligação.
Um nó é uma unidade (ou uma réplica) de uma ligação que processa transações. São necessários mais nós para processar mais transações para uma ligação e, inversamente, são necessários menos nós para processar menos transações. Para compreender como os nós afetam os preços dos conectores, consulte o artigo Preços dos nós de ligação. Se não introduzir valores, por predefinição, os nós mínimos são definidos como 2 (para uma melhor disponibilidade) e os nós máximos são definidos como 50.
- Opcionalmente, clique em + ADICIONAR ETIQUETA para adicionar uma etiqueta à associação sob a forma de um par chave/valor.
- Clique em SEGUINTE.
- Na secção Destinos, introduza os detalhes do anfitrião remoto (sistema de back-end) ao qual quer estabelecer ligação.
- Tipo de destino: selecione um Tipo de destino.
- Para especificar o nome de anfitrião ou o endereço IP de destino, selecione Endereço do anfitrião e introduza o endereço no campo Anfitrião 1.
- Para estabelecer uma ligação privada, selecione Anexo do ponto final e escolha o anexo necessário na lista Anexo do ponto final.
Se quiser estabelecer uma ligação pública aos seus sistemas de back-end com segurança adicional, pode considerar configurar endereços IP estáticos de saída para as suas ligações e, em seguida, configurar as regras da firewall para permitir apenas os endereços IP estáticos específicos.
Para introduzir destinos adicionais, clique em +ADICIONAR DESTINO.
- Clique em SEGUINTE.
- Tipo de destino: selecione um Tipo de destino.
-
Na secção Autenticação, introduza os detalhes de autenticação.
- Selecione um Tipo de autenticação e introduza os detalhes relevantes.
Os seguintes tipos de autenticação são suportados pela ligação HDFS:
- Nome de utilizador e palavra-passe
Para saber como configurar estes tipos de autenticação, consulte o artigo Configurar autenticação.
- Clique em SEGUINTE.
- Selecione um Tipo de autenticação e introduza os detalhes relevantes.
- Rever: reveja os detalhes da ligação e da autenticação.
- Clique em Criar.
Configure a autenticação
Introduza os detalhes com base na autenticação que quer usar.
-
Nome de utilizador e palavra-passe
- Nome de utilizador: introduza o nome de utilizador a usar para a ligação HDFS.
- Palavra-passe : introduza o segredo do Secret Manager que contém a palavra-passe associada ao nome de utilizador.
- Versão do Secret: selecione a versão do Secret para o Secret selecionado acima.
Exemplos de configuração de ligação
Esta secção apresenta os valores de exemplo para os vários campos que configura quando cria a associação.
Tipo de ligação com nome de utilizador e palavra-passe
Nome do campo | Detalhes |
---|---|
Localização | europe-west1 |
Conetor | HDFS |
Versão do conetor | 1 |
Nome da ligaçã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 anfitrião |
Anfitrião | 10.128.0. |
port1 | 10000 |
Nome de utilizador | user1 |
Palavra-passe | PASSWORD |
Versão do secret | 1 |
Limitações do sistema
O conector HDFS pode processar um máximo de 20 transações por segundo, por nó e limita todas as transações que excedam este limite. Por predefinição, os Integration Connectors atribuem 2 nós (para uma melhor disponibilidade) a uma ligação.
Para informações sobre os limites aplicáveis aos Integration Connectors, consulte Limites.
Use a ligação HDFS numa integração
Depois de criar a ligação, esta fica disponível no Apigee Integration e no Application Integration. Pode usar a ligação numa integração através da tarefa Conectores.
- Para compreender como criar e usar a tarefa Connectors no Apigee Integration, consulte o artigo Tarefa Connectors.
- Para compreender como criar e usar a tarefa Connectors na integração de aplicações, consulte o artigo Tarefa Connectors.
Ações
Esta secção mostra como realizar algumas das ações neste conector.
Ação MakeDirectory
Esta ação cria um diretório no caminho especificado.
Introduza os parâmetros da ação MakeDirectory
Nome do parâmetro | Tipo de dados | Obrigatória | Descrição |
---|---|---|---|
Autorização | String | Falso | As autorizações para criar um novo diretório. |
Caminho | String | True | O caminho do novo diretório. |
Para ver um exemplo de como configurar a ação MakeDirectory
, consulte Exemplos.
Ação ListStatus
Esta ação apresenta o conteúdo do caminho fornecido.
Introduza os parâmetros da ação ListStatus
Nome do parâmetro | Tipo de dados | Obrigatória | Descrição |
---|---|---|---|
Caminho | String | True | O caminho do ficheiro. |
Para ver um exemplo de como configurar a ação ListStatus
, consulte Exemplos.
Ação GetHomeDirectory
Esta ação obtém o diretório principal do utilizador atual.
Parâmetros de entrada da ação GetHomeDirectory
Nome do parâmetro | Tipo de dados | Obrigatória | Descrição |
---|---|---|---|
connectorInputPayload | Json | True | O payload de entrada do conector. |
Para ver um exemplo de como configurar a ação GetHomeDirectory
, consulte Exemplos.
Ação DeleteFile
Esta ação elimina um ficheiro ou um diretório.
Parâmetros de entrada da ação DeleteFile
Nome do parâmetro | Tipo de dados | Obrigatória | Descrição |
---|---|---|---|
Caminho | String | True | O caminho do ficheiro. |
Recursivo | Booleano | Falso | Especifica se as subpastas de uma pasta devem ser eliminadas. |
Para ver um exemplo de como configurar a ação DeleteFile
, consulte os exemplos.
Ação GetContentSummary
Esta ação obtém o resumo do conteúdo de um ficheiro ou de uma pasta.
Parâmetros de entrada da ação GetContentSummary
Nome do parâmetro | Tipo de dados | Obrigatória | Descrição |
---|---|---|---|
Caminho | String | True | O caminho do ficheiro ou da pasta. |
Para ver um exemplo de como configurar a ação GetContentSummary
, consulte os exemplos.
Ação RenameFile
Esta ação muda o nome de um ficheiro ou de um diretório.
Parâmetros de entrada da ação RenameFile
Nome do parâmetro | Tipo de dados | Obrigatória | Descrição |
---|---|---|---|
caminho | String | True | O caminho do ficheiro. |
destino | String | True | Especifica o novo nome e caminho do ficheiro. |
Para ver um exemplo de como configurar a ação RenameFile
, consulte Exemplos.
Ação SetPermission
Esta ação define a autorização de um caminho.
Parâmetros de entrada da ação SetPermission
Nome do parâmetro | Tipo de dados | Obrigatória | Descrição |
---|---|---|---|
Caminho | String | True | O caminho do ficheiro. |
Autorização | String | True | Especifica as autorizações do Unix numa notação octal (base 8). |
Para ver um exemplo de como configurar a ação SetPermission
, consulte Exemplos.
Ação SetPermission
Esta ação define a autorização de um caminho.
Parâmetros de entrada da ação SetPermission
Nome do parâmetro | Tipo de dados | Obrigatória | Descrição |
---|---|---|---|
Caminho | String | True | O caminho do ficheiro. |
Autorização | String | True | Especifica as autorizações Unix numa notação octal (base 8). |
Para ver um exemplo de como configurar a ação SetPermission
, consulte Exemplos.
Ação SetOwner
Esta 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ória | Descrição |
---|---|---|---|
Caminho | String | True | O caminho do ficheiro. |
Proprietário | String | True | 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
Esta ação carrega um ficheiro.
Parâmetros de entrada da ação UploadFile
Nome do parâmetro | Tipo de dados | Obrigatória | Descrição |
---|---|---|---|
caminho | String | True | O caminho do ficheiro. |
Conteúdo | String | True | O conteúdo do ficheiro carregado. |
Para ver um exemplo de como configurar a ação UploadFile
, consulte Exemplos.
Ação DownloadFile
Esta ação transfere um ficheiro.
Introduza os parâmetros da ação DownloadFile
Nome do parâmetro | Tipo de dados | Obrigatória | Descrição |
---|---|---|---|
caminho | String | True | O caminho do ficheiro. |
WriteToFile | String | Falso | A localização local do ficheiro para o qual a saída é escrita. |
Para ver um exemplo de como configurar a ação DownloadFile
, consulte Exemplos.
Ação AppendToFile
Esta ação anexa um ficheiro.
Introduza os parâmetros da ação AppendToFile
Nome do parâmetro | Tipo de dados | Obrigatória | Descrição |
---|---|---|---|
caminho | String | True | O caminho do ficheiro. |
Conteúdo | String | True | O conteúdo a anexar ao ficheiro. |
Para ver um exemplo de como configurar a ação AppendToFile
, consulte Exemplos.
Ação GetFileChecksum
Esta ação obtém a soma de verificação de um ficheiro.
Parâmetros de entrada da ação GetFileChecksum
Nome do parâmetro | Tipo de dados | Obrigatória | Descrição |
---|---|---|---|
caminho | String | True | O caminho do ficheiro. |
Para ver um exemplo de como configurar a ação GetFileChecksum
, consulte Exemplos.
Exemplos de ações
Esta secção mostra como realizar alguns dos exemplos de ações neste conetor.
Exemplo: crie um diretório
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
MakeDirectory
e, de seguida, clique em Concluído. - Na secção Mapeamento de dados
Open Data Mapping Editor
e, de seguida, introduza um valor semelhante ao seguinte no campoInput
:{ "Path": "/user/hduser" }
Se a ação for bem-sucedida, o parâmetro de resposta da tarefa do conector terá um valor semelhante ao seguinte:connectorOutputPayload
[{ "Success": true }]
Exemplo: obter o diretório inicial
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
GetHomeDirectory
e, de seguida, clique em Concluído. - Na secção Mapeamento de dados
Open Data Mapping Editor
e, de seguida, introduza um valor semelhante ao seguinte no campoInput
:{}
Se a ação for bem-sucedida, o parâmetro de resposta da tarefa do conector terá um valor semelhante ao seguinte:connectorOutputPayload
[{ "Path": "/user/hduser" }]
Exemplo: elimine um ficheiro
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
DeleteFile
e, de seguida, clique em Concluído. - Na secção Mapeamento de dados
Open Data Mapping Editor
e, de seguida, introduza um valor semelhante ao seguinte no campoInput
:{ "Path": "/user/hduser/testFile" }
Se a ação for bem-sucedida, o parâmetro de resposta da tarefa do conector terá um valor semelhante ao seguinte:connectorOutputPayload
[{ "Success": true }]
Exemplo: listar o estado de um ficheiro
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
ListStatus
e, de seguida, clique em Concluído. - Na secção Mapeamento de dados
Open Data Mapping Editor
e, de seguida, introduza um valor semelhante ao seguinte no campoInput
:{ "path": "/user/hduser/deletefile" }
Se a ação for bem-sucedida, o parâmetro de resposta da tarefa do conector terá um valor semelhante ao seguinte:connectorOutputPayload
[{ "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: obter o resumo do conteúdo de um ficheiro
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
GetContentSummary
e, de seguida, clique em Concluído. - Na secção Mapeamento de dados
Open Data Mapping Editor
e, de seguida, introduza um valor semelhante ao seguinte no campoInput
:{ "Path": "/user/hduser/appendtofile" }
Se a ação for bem-sucedida, o parâmetro de resposta da tarefa do conector terá um valor semelhante ao seguinte:connectorOutputPayload
[{ "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: mude o nome de um ficheiro
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
hdfs_RenameFile_action
e, de seguida, clique em Concluído. - Na secção Mapeamento de dados
Open Data Mapping Editor
e, de seguida, introduza 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 da tarefa do conector terá um valor semelhante ao seguinte:connectorOutputPayload
[{ "Success": true }]
Exemplo: definir a autorização de um ficheiro
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
SetPermission
e, de seguida, clique em Concluído. - Na secção Mapeamento de dados
Open Data Mapping Editor
e, de seguida, introduza 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 da tarefa do conector terá um valor semelhante ao seguinte:connectorOutputPayload
[{ "Success": true }]
Exemplo: defina o proprietário de um ficheiro
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
SetOwner
e, de seguida, clique em Concluído. - Na secção Mapeamento de dados
Open Data Mapping Editor
e, de seguida, introduza 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 da tarefa do conector terá um valor semelhante ao seguinte:connectorOutputPayload
[{ "Success": true }]
Exemplo: carregar um ficheiro
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
UploadFile
e, de seguida, clique em Concluído. - Na secção Mapeamento de dados
Open Data Mapping Editor
e, de seguida, introduza 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 da tarefa do conector terá um valor semelhante ao seguinte:connectorOutputPayload
[{ "Success": true }]
Exemplo: transferir um ficheiro
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
DownloadFile
e, de seguida, clique em Concluído. - Na secção Mapeamento de dados
Open Data Mapping Editor
e, de seguida, introduza um valor semelhante ao seguinte no campoInput
:{ "Path": "/user/sampleFile/file1.txt" }
Se a ação for bem-sucedida, o parâmetro de resposta da tarefa do conector terá um valor semelhante ao seguinte:connectorOutputPayload
[ { "Output": "This is sample File\nfor this testing\ncontent" } ]
Exemplo: anexar um ficheiro
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
AppendToFile
e, de seguida, clique em Concluído. - Na secção Mapeamento de dados
Open Data Mapping Editor
e, de seguida, introduza 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 da tarefa do conector terá um valor semelhante ao seguinte:connectorOutputPayload
[ { "Success": true } ]
Exemplo: obter a soma de verificação de um ficheiro
- Na caixa de diálogo
Configure connector task
, clique emActions
. - Selecione a ação
GetFileChecksum
e, de seguida, clique em Concluído. - Na secção Mapeamento de dados
Open Data Mapping Editor
e, de seguida, introduza um valor semelhante ao seguinte no campoInput
:{ "Path": "/user/sampleFile/file1.txt" }
Se a ação for bem-sucedida, o parâmetro de resposta da tarefa do conector terá um valor semelhante ao seguinte:connectorOutputPayload
[ { "Algorithm": "MD5-of-0MD5-of-512CRC32C", "Bytes": "00000200000000000000000080f5b53ae8c165ae56e86109b8bb2a1700000000", "Length": 28 } ]
Exemplos de operações de entidades
Esta secção mostra como realizar algumas das operações de entidades neste conector.
Exemplo: listar dados de todos os ficheiros
Este exemplo obtém os dados de todos os ficheiros na entidade Files
.
- Na caixa de diálogo
Configure connector task
, clique emEntities
. - Selecione
Object
na listaEntity
. - Selecione a operação
List
e, de seguida, clique em Concluído.
Exemplo: obter dados de uma autorização
Este exemplo obtém os dados da autorizaçã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, de seguida, clique em Concluído. - Na secção Entrada de tarefas da tarefa Conetores, clique em EntityId e, de seguida,
introduza
/user/hduser/appendfile
no campo Valor predefinido.Aqui,
/user/hduser/appendfile
é um ID exclusivo na entidadePermission
.
Obtenha ajuda da comunidade do Google Cloud
Pode publicar as suas perguntas e discutir este conector na comunidade do Google Cloud nos Fóruns do Cloud.O que se segue?
- Compreenda como suspender e retomar uma associação.
- Compreenda como monitorizar a utilização do conector.
- Compreenda como ver os registos do conetor.