Overview de comandos Hadoop HDFS
Olá meu caro,
Fico feliz em recebe-ló aqui. Este post irá abordar comandos utilizados no Hadoop HDFS . Meu ambiente hadoop de estudos foi baixado no site oficial da cloudera, vc pode baixa-ló clicando aqui.
Para quem não sabe eu sou estudante de Ciência de dados, e, durante o aprendizado na pós graduação neste ano de 2018, conheci muitas ferramentas, muitas tecnologias e com isso surge o interesse do mundo de Big data, esse tem me chamado bastante atenção e vontade de me aprofundar cada vez mais e mais e buscar a entender em como esse grande volume de dados são organizados e o que está por trás de tudo isso. Eu disponibilizei leituras recomendadas sobre os conceitos que rodeiam o assunto abordado no final do post, leiam.
B E L E Z A ! VAMOS LOGO COM ISSO!! EU VIM AQUI VER OS COMANDOS!!
Primeiro vou acrescentar um pequeno resumo sobre o que é HDFS. Os conceitos colocados aqui foram retirados do site do proprietário da ferramenta a APACHE.
O que é e para serve HDFS?
O Hadoop Distributed File System (HDFS) é um sistema de arquivos distribuÃdo projetado para ser executado em hardware comum. Tem muitas semelhanças com sistemas de arquivos distribuÃdos existentes. No entanto, as diferenças de outros sistemas de arquivos distribuÃdos são significativas. O HDFS é altamente tolerante a falhas e foi projetado para ser implantado em hardware de baixo custo. O HDFS fornece acesso de alto rendimento aos dados do aplicativo e é adequado para aplicativos que possuem grandes conjuntos de dados. O HDFS relaxa alguns requisitos POSIX para ativar o acesso de streaming aos dados do sistema de arquivos. O HDFS foi originalmente criado como infraestrutura para o projeto do mecanismo de pesquisa da Web Apache Nutch. O HDFS faz parte do projeto Apache Hadoop Core. O URL do projeto é http://hadoop.apache.org/
Para uma abordagem mais apronfudada sobre o assunto leia links em leituras recomendadas ao final deste post!
Visão geral dos comandos
Você conhece o POSIX? Pois é, os comandos do HDFS seguem esta norma, que define a interface de programação de aplicações, juntamente com shells de linha de comando e interfaces utilitárias, para compatibilidade de software com variantes de Unix e outros sistemas operacionais.
Para quem está acostuma com Linux, não sentirá dificuldade em operar no terminal para manipular o sistemas de arquivos.
Para quem está acostuma com Linux, não sentirá dificuldade em operar no terminal para manipular o sistemas de arquivos.
Todos os comandos do HDFS são chamados pelo script bin/hdfs. Executar o script hdfs sem nenhum argumento imprime a descrição de todos os comandos.
Usage: hdfs [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [COMMAND_OPTIONS]
Para chamar os comandos você pode utilizar: hadoop fs [COMMAND, OPTIONS]
hdfs dfs [COMMAND, OPTIONS]
Sendo que o primeiro está sendo substituÃdo pelo 2º (hdfs dfs).
- cat
Função: Concatenar arquivos e imprimir na saÃda padrão
Exemplo:
hdfs dfs -cat /user/cloudera/file1
- ls
Exemplo:
hdfs dfs -ls /user/cloudera/file1
Opções:
-C: Exibe apenas os caminhos de arquivos e diretórios.
-d: Os diretórios são listados como arquivos simples.
-h: formata os tamanhos dos arquivos de forma legÃvel (por exemplo, 64,0m em vez de 67108864).
-q: Imprimir? em vez de caracteres não imprimÃveis.
-R: lista recursivamente subdiretórios encontrados.
-t: Classifica a saÃda por hora da modificação (mais recente primeiro).
-S: Ordena a saÃda por tamanho de arquivo.
-r: Inverte a ordem de classificação.
-u: Use o tempo de acesso em vez do tempo de modificação para exibição e classificação.
- mkdir
Função: Criar diretório
Exemplo:
Exemplo:
hdfs dfs -mkdir -p /user/cloudera/dir1/subdir1
O comportamento da opção -p é muito parecido com o do Unix mkdir -p, criando diretórios-pais ao longo do caminho.
- mv
Função: Mover e renomear arquivos e diretórios
Exemplo:
Exemplo:
hdfs dfs -mv /user/cloudera/file1 /user/cloudera/file2
Esse comando também permite várias origens e, nesse caso, o destino precisa ser um diretório. Mover arquivos entre sistemas de arquivos não é permitido.
- put
Função: Copia arquivos do sistema local para o sistema de destino. Também lê entrada de stdin e grava no sistema de arquivos de destino.
Exemplo:
Exemplo:
hdfs dfs -put arquivolocal /user/cloudera/dir1/arquivolocal
Esse comando também permite várias origens e, nesse caso, o destino precisa ser um diretório. Mover arquivos entre sistemas de arquivos não é permitido.
-p: Preserva tempos de acesso e modificação, propriedade e permissões. (supondo que as permissões possam ser propagadas nos sistemas de arquivos)
-f: Sobrescreve o destino, se já existir.
-l: Permitir que DataNode preguiçosamente persista o arquivo em disco, Força um fator de replicação de 1. Esse sinalizador resultará em durabilidade reduzida. Use com cuidado.
-d: Ignora a criação do arquivo temporário com o sufixo ._COPYING_.
- rm
Função: Deleta arquivos especificados como argumentos. (Não remove diretórios vazios). Se a lixeira estiver ativada, o sistema de arquivos moverá o arquivo excluÃdo para um diretório de lixeira.
Exemplo:
Exemplo:
hdfs dfs -rm /user/cloudera/dir1/arquivolocal
-f não exibirá uma mensagem de diagnóstico ou modificará o status de saÃda para refletir um erro se o arquivo não existir.
-R exclui o diretório e qualquer conteúdo sob ele recursivamente.
-r é equivalente a -R.
-skipTrash ignorará a lixeira, se ativada, e excluirá o (s) arquivo (s) especificado (s) imediatamente. Isso pode ser útil quando é necessário excluir arquivos de um diretório de excesso de cotas.
-safly exigirá uma confirmação de segurança antes de excluir o diretório com um número total de arquivos maior que hadoop.shell.delete.limit.num.files (em core-site.xml, padrão: 100). Pode ser
-skipTrash para impedir a exclusão acidental de diretórios grandes. O atraso é esperado ao percorrer um grande diretório recursivamente para contar o número de arquivos a serem excluÃdos antes da confirmação.
- rmdir
Função: Deleta diretórios.
Exemplo:
hdfs dfs -rm /user/cloudera/diretorio-vazio
- find
Função: Localiza todos os arquivos que correspondem à expressão especificada e aplica as ações selecionadas a eles. Se nenhum caminho for especificado, o padrão será o diretório de trabalho atual.
Exemplo:
hdfs dfs -find /user/cloudera/ -name arquivolocal -print
- get
Função: Copie arquivos para o sistema de arquivos local.
Exemplo:
Exemplo:
hdfs dfs -get /user/cloudera/dir1/arquivo arquivo-local
- help
Função: Retorna o exemplo de usos dos comandos.
Exemplo:
Exemplo:
hdfs dfs -help
E É isso meu caro, agora vamos praticar. Até o proxÃmoo!
Leituras recomendadas!
File System Shell Guide
HDFS Architecture Guide
Oracle, Big Data
No comments