Использование HDFS CLI в Data Lake Storage Gen2

Вы можете получать доступ к данным в учетной записи хранения и управлять ими с помощью интерфейса командной строки точно так же, как с Распределенная файловая система Hadoop (HDFS). В этой статье приводится несколько примеров, которые помогут вам приступить к работе.

HDInsight предоставляет доступ к распределенному контейнеру, который локально присоединен к вычислительным узлам. Доступ к контейнеру можно получить с помощью оболочки, которая напрямую взаимодействует с HDFS и другими файловыми системами, поддерживаемыми Hadoop.

Дополнительные сведения о HDFS CLI можно узнать в официальной документации или из Руководства по разрешениям в HDFS.

Примечание

Если вы используете Azure Databights вместо HDInsight и хотите взаимодействовать с данными с помощью интерфейса командной строки, для взаимодействия с файловой системой Databights можно использовать CLI Databights. См. Databricks CLI.

Использование HDFS CLI с кластером HDInsight Hadoop в Linux

Сначала установите удаленный доступ к службам. Если выбрать параметр SSH, образец кода PowerShell будет выглядеть следующим образом.

#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

Строка подключения находится на портале Azure в колонке кластера HDInsight в разделе "SSH и вход в кластер". Учетные данные SSH были указаны во время создания кластера.

Важно!

Начисление оплаты начинается после создания кластера HDInsight и прекращается только после его удаления. Кластеры оплачиваются поминутно, поэтому всегда следует удалять кластер, когда он больше не нужен. Сведения об удалении кластера см. в статье на эту тему. Данные, размещенные в учетной записи хранения с поддержкой Data Lake Storage 2-го поколения, сохраняются даже после удаления кластера HDInsight.

Создание контейнера

hdfs dfs -D "fs.azure.createRemoteFileSystemDuringInitialization=true" -ls abfs://<container-name>@<storage-account-name>.dfs.core.windows.net/

  • Замените заполнитель <container-name> именем, которое хотите присвоить своему контейнеру.

  • Замените заполнитель <storage-account-name> именем вашей учетной записи хранения.

Получение списка файлов или каталогов

hdfs dfs -ls <path>

Замените заполнитель <path> на универсальный код ресурса (URI) контейнера или папки контейнера.

Например: hdfs dfs -ls abfs://my-file-system@mystorageaccount.dfs.core.windows.net/my-directory-name

Создание каталога

hdfs dfs -mkdir [-p] <path>

Замените заполнитель <path> именем корневого контейнера или папки в контейнере.

Пример: hdfs dfs -mkdir abfs://my-file-system@mystorageaccount.dfs.core.windows.net/

Удаление файла или каталога

hdfs dfs -rm <path>

Замените заполнитель <path> на URI файла или папки, которые нужно удалить.

Например: hdfs dfs -rmdir abfs://my-file-system@mystorageaccount.dfs.core.windows.net/my-directory-name/my-file-name

Отображение списков управления доступом (ACL) файлов и каталогов

hdfs dfs -getfacl [-R] <path>

Пример:

hdfs dfs -getfacl -R /dir

См. getfacl

Настройка ACL файлов и каталогов

hdfs dfs -setfacl [-R] [-b|-k -m|-x <acl_spec> <path>]|[--set <acl_spec> <path>]

Пример:

hdfs dfs -setfacl -m user:hadoop:rw- /file

См. setfacl

Изменение владельца файлов

hdfs dfs -chown [-R] <new_owner>:<users_group> <URI>

См. chown

Изменение связи группы файлов

hdfs dfs -chgrp [-R] <group> <URI>

См. chgrp

Изменение разрешений файлов

hdfs dfs -chmod [-R] <mode> <URI>

См. chmod

Полный список команд можно просмотреть на веб-сайте Apache Hadoop 2.4.1 File System Guide.

Дальнейшие действия