Usando a CLI do HDFS com o Data Lake Storage Gen2
Você pode acessar e gerenciar os dados na sua conta de armazenamento usando uma interface de linha de comando, assim como faria com um HDFS (Sistema de Arquivos Distribuído do Hadoop). Este artigo fornece alguns exemplos que ajudarão você a começar.
O HDInsight fornece acesso ao contêiner distribuído que está anexado localmente aos nós de computação. Você pode acessar esse contêiner usando o shell que interage diretamente com o HDFS e com outros sistemas de arquivos compatível com o Hadoop.
Para obter mais informações sobre a CLI do HDFS, confira a documentação oficial e o Guia de permissões do HDFS
Observação
Se você estiver usando o Azure Databricks em vez do HDInsight e desejar interagir com os seus dados usando uma interface de linha de comando, poderá usar a CLI do Databricks para interagir com o sistema de arquivos do Databricks. Confira a CLI do Databricks.
Usar a CLI do HDFS com um cluster HDInsight Hadoop no Linux
Primeiro, estabeleça o acesso remoto aos serviços. Se você escolher SSH o código de exemplo do PowerShell seria semelhante ao seguinte:
#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 caracteres de conexão pode ser encontrada no "SSH + Cluster logon" seção da folha de cluster HDInsight no portal do Azure. As credenciais SSH foram especificadas no momento da criação do cluster.
Importante
O faturamento de cluster do HDInsight é iniciado depois que um cluster é criado e pára quando o cluster é excluído. A cobrança ocorre por minuto, portanto, sempre exclua o cluster quando ele não estiver mais sendo usado. Para saber como excluir um cluster, consulte o nosso artigo sobre o tópico. No entanto, os dados armazenados em uma conta de armazenamento com o Data Lake Storage Gen2 ativado persistem mesmo depois que um cluster do HDInsight é excluído.
Criar um contêiner
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 deseje fornecer 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ê quer excluir.
Por exemplo: hdfs dfs -rmdir abfs://my-file-system@mystorageaccount.dfs.core.windows.net/my-directory-name/my-file-name
Exibir as ACLs (Lista de Controle de Acesso) de arquivos e diretórios
hdfs dfs -getfacl [-R] <path>
Exemplo:
hdfs dfs -getfacl -R /dir
Consulte 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
Consulte setfacl
Alterar o proprietário dos arquivos
hdfs dfs -chown [-R] <new_owner>:<users_group> <URI>
Consulte chown
Alterar associação de grupos de arquivos
hdfs dfs -chgrp [-R] <group> <URI>
Consulte chgrp
Alterar as permissões dos arquivos
hdfs dfs -chmod [-R] <mode> <URI>
Consulte chmod
É possível exibir a lista completa de comandos no site Guia do shell do sistema de arquivos do Apache Hadoop 2.4.1.