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.

Próximas etapas