Использование интерфейса командной строки 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.