Usando a CLI do HDFS com armazenamento Data Lake
Você pode acessar e gerenciar os dados em sua conta de armazenamento usando uma interface de linha de comando, assim como faria com um Hadoop Distributed File System (HDFS). Este artigo fornece alguns exemplos que o ajudarão a começar.
O HDInsight fornece acesso ao contêiner distribuído que está conectado localmente aos nós de computação. Você pode acessar esse contêiner usando o shell que interage diretamente com o HDFS e os outros sistemas de arquivos suportados pelo Hadoop.
Para obter mais informações sobre a CLI do HDFS, consulte a documentação oficial e o Guia de permissões do HDFS
Nota
Se você estiver usando o Azure Databricks em vez do HDInsight e quiser interagir com seus dados usando uma interface de linha de comando, poderá usar a CLI do Databricks para interagir com o sistema de arquivos Databricks. Consulte Databricks CLI.
Usar a CLI do HDFS com um cluster Hadoop do HDInsight no Linux
Primeiro, estabeleça o acesso remoto aos serviços. Se você escolher SSH , o código PowerShell de exemplo terá a seguinte aparência:
#Connect to the cluster via SSH.
ssh sshuser@clustername-ssh.azurehdinsight.net
#Execute basic HDFS commands. Display the hierarchy.
hdfs dfs -ls /
#Create a sample directory.
hdfs dfs -mkdir /samplefolder
A cadeia de conexão pode ser encontrada na seção "SSH + Logon de cluster" da folha de cluster HDInsight no portal do Azure. As credenciais SSH foram especificadas no momento da criação do cluster.
Importante
A cobrança do cluster HDInsight começa depois que um cluster é criado e para quando o cluster é excluído. A faturação é rateada por minuto, pelo que deve sempre eliminar o cluster quando deixar de ser utilizado. Para saber como excluir um cluster, consulte nosso artigo sobre o tema. No entanto, os dados armazenados em uma conta de armazenamento com o Armazenamento Data Lake habilitado persistem mesmo depois que um cluster HDInsight é excluído.
Criar um contentor
hdfs dfs -D "fs.azure.createRemoteFileSystemDuringInitialization=true" -ls abfs://<container-name>@<storage-account-name>.dfs.core.windows.net/
Substitua o espaço reservado
<container-name>
pelo nome que você deseja dar ao contêiner.Substitua o espaço reservado
<storage-account-name>
pelo nome da sua conta de armazenamento.
Obter uma lista de arquivos ou diretórios
hdfs dfs -ls <path>
Substitua o espaço reservado <path>
pelo URI do contêiner ou da pasta do contêiner.
Por exemplo: hdfs dfs -ls abfs://my-file-system@mystorageaccount.dfs.core.windows.net/my-directory-name
Criar um diretório
hdfs dfs -mkdir [-p] <path>
Substitua o espaço reservado <path>
pelo nome do contêiner raiz ou por uma pasta dentro do contêiner.
Por exemplo: hdfs dfs -mkdir abfs://my-file-system@mystorageaccount.dfs.core.windows.net/
Excluir um arquivo ou diretório
hdfs dfs -rm <path>
Substitua o espaço reservado <path>
pelo URI do arquivo ou pasta que você deseja excluir.
Por exemplo: hdfs dfs -rmdir abfs://my-file-system@mystorageaccount.dfs.core.windows.net/my-directory-name/my-file-name
Exibir as ACLs (Listas de Controle de Acesso) de arquivos e diretórios
hdfs dfs -getfacl [-R] <path>
Exemplo:
hdfs dfs -getfacl -R /dir
Ver getfacl
Definir ACLs de arquivos e diretórios
hdfs dfs -setfacl [-R] [-b|-k -m|-x <acl_spec> <path>]|[--set <acl_spec> <path>]
Exemplo:
hdfs dfs -setfacl -m user:hadoop:rw- /file
Ver setfacl
Alterar o proprietário dos ficheiros
hdfs dfs -chown [-R] <new_owner>:<users_group> <URI>
Ver chown
Alterar a associação de grupo de arquivos
hdfs dfs -chgrp [-R] <group> <URI>
Ver chgrp
Alterar as permissões dos ficheiros
hdfs dfs -chmod [-R] <mode> <URI>
Ver chmod
Você pode visualizar a lista completa de comandos no site Apache Hadoop 2.4.1 File System Shell Guide .