Uso dell'interfaccia della riga di comando di HDFS con Data Lake Storage
È possibile accedere e gestire i dati nell'account di archiviazione usando un'interfaccia della riga di comando esattamente come si farebbe con un file system distribuito Hadoop (HDFS). Questo articolo fornisce alcuni esempi utili per iniziare.
HDInsight consente di accedere al contenitore distribuito collegato localmente ai nodi di calcolo. È possibile accedere a questo contenitore usando la shell che interagisce direttamente con HDFS e gli altri file system supportati da Hadoop.
Per altre informazioni sull'interfaccia della riga di comando di HDFS, vedere la documentazione ufficiale e la Guida alle autorizzazioni HDFS
Nota
Se si usa Azure Databricks anziché HDInsight e si vuole interagire con i dati usando un'interfaccia della riga di comando, è possibile usare l'interfaccia della riga di comando di Databricks per interagire con il file system di Databricks. Vedere l'interfaccia della riga di comando di Databricks.
Usare l’infrastruttura CLI di HDFS con un cluster Hadoop di HDInsight in Linux
Per prima cosa stabilire l’accesso remoto ai servizi. Selezionando SSH, il codice di PowerShell di esempio si presenta come segue:
#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
La stringa di connessione è reperibile nella sezione "SSH + Cluster login" del pannello del cluster HDInsight nel portale di Azure. Al momento della creazione del cluster sono state specificate le credenziali SSH.
Importante
La fatturazione del cluster HDInsight inizia dopo la creazione del cluster e si interrompe solo quando questo viene eliminato. La fatturazione avviene con tariffa oraria, perciò si deve sempre eliminare il cluster in uso quando non lo si usa più. Per informazioni su come eliminare un cluster, vedere l'articolo relativo all'argomento. Tuttavia, i dati archiviati in un account di archiviazione con Data Lake Storage abilitato vengono mantenuti anche dopo l'eliminazione di un cluster HDInsight.
Creazione di un contenitore
hdfs dfs -D "fs.azure.createRemoteFileSystemDuringInitialization=true" -ls abfs://<container-name>@<storage-account-name>.dfs.core.windows.net/
Sostituire il segnaposto
<container-name>
con il nome che si vuole assegnare al contenitore.Sostituire il segnaposto
<storage-account-name>
con il nome del proprio account di archiviazione.
Ottenere un elenco di file o directory
hdfs dfs -ls <path>
Sostituire il <path>
segnaposto con l'URI del contenitore o della cartella contenitore.
Ad esempio: hdfs dfs -ls abfs://my-file-system@mystorageaccount.dfs.core.windows.net/my-directory-name
Creare una directory
hdfs dfs -mkdir [-p] <path>
Sostituire il <path>
segnaposto con il nome del contenitore radice o una cartella all'interno del contenitore.
Ad esempio: hdfs dfs -mkdir abfs://my-file-system@mystorageaccount.dfs.core.windows.net/
Eliminare un file o una directory
hdfs dfs -rm <path>
Sostituire il segnaposto <path>
con l'URI del file o della cartella che si vuole eliminare.
Ad esempio: hdfs dfs -rmdir abfs://my-file-system@mystorageaccount.dfs.core.windows.net/my-directory-name/my-file-name
Visualizzare gli elenchi di controllo di accesso (ACL) di file e directory
hdfs dfs -getfacl [-R] <path>
Esempio:
hdfs dfs -getfacl -R /dir
Vedere getfacl
Impostare gli ACL su file e directory
hdfs dfs -setfacl [-R] [-b|-k -m|-x <acl_spec> <path>]|[--set <acl_spec> <path>]
Esempio:
hdfs dfs -setfacl -m user:hadoop:rw- /file
Vedere setfacl
Modificare il proprietario dei file
hdfs dfs -chown [-R] <new_owner>:<users_group> <URI>
Vedere chown
Modificare l'associazione del gruppo di file
hdfs dfs -chgrp [-R] <group> <URI>
Vedere chgrp
Modificare le autorizzazioni dei file
hdfs dfs -chmod [-R] <mode> <URI>
Vedere chmod
È possibile visualizzare l'elenco completo dei comandi nel sito Web della Guida alla Shell del filesystem Apache Hadoop 2.4.1.