Поделиться через


Использование интерфейса командной строки HDFS с Data Lake Storage

Вы можете получать доступ к данным в учетной записи хранения и управлять ими с помощью интерфейса командной строки точно так же, как с Распределенная файловая система 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 [email protected]
#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, сохраняются даже после удаления кластера 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://[email protected]/my-directory-name

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

hdfs dfs -mkdir [-p] <path>

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

Например: hdfs dfs -mkdir abfs://[email protected]/

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

hdfs dfs -rm <path>

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

Например: hdfs dfs -rmdir abfs://[email protected]/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.

Следующие шаги