将 HDFS CLI 与 Data Lake Storage Gen2 配合使用

可以使用命令行界面来访问并管理存储帐户中的数据,就像像使用 Hadoop 分布式文件系统 (HDFS) 一样。 本文提供了一些有助于入门的示例。

HDInsight 可以访问在本地附加到计算节点的分布式容器。 可以使用与 HDFS 以及 Hadoop 支持的其他文件系统直接交互的 shell 来访问此容器。

有关 HDFS CLI 的详细信息,请参阅官方文档HDFS 权限指南

注意

如果你使用的是 Azure Databricks 而不是 HDInsight,并且要使用命令行接口与数据进行交互,可使用 Databricks CLI 与 Databricks 文件系统进行交互。 请参阅 Databricks CLI

在 Linux 上结合使用 HDFS CLI 和 HDInsight Hadoop 群集

首先建立对服务的远程访问。 如果选择了 SSH,则示例 PowerShell 代码将如下所示:

#Connect to the cluster via SSH.
ssh sshuser@clustername-ssh.azurehdinsight.cn
#Execute basic HDFS commands. Display the hierarchy.
hdfs dfs -ls /
#Create a sample directory.
hdfs dfs -mkdir /samplefolder

可以在 Azure 门户中 HDInsight 群集边栏选项卡的“SSH + 群集登录”部分中找到连接字符串。 SSH 凭据是在创建群集时指定的。

重要

创建群集后便开始 HDInsight 群集计费,删除群集后停止计费。 HDInsight 群集按分钟收费,因此不再需要使用群集时,应将其删除。 若要了解如何删除群集,请参阅我们的有关该主题的文章。 但是,即使删除了 HDInsight 群集,在启用了 Data Lake Storage Gen2 的存储帐户中存储的数据仍然会保留。

创建容器

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

  • <container-name> 占位符替换为你要为容器指定的名称。

  • <storage-account-name> 占位符替换为存储帐户的名称。

获取文件或目录列表

hdfs dfs -ls <path>

<path> 占位符替换为容器或容器文件夹的 URI。

例如:hdfs dfs -ls abfs://my-file-system@mystorageaccount.dfs.core.chinacloudapi.cn/my-directory-name

创建目录

hdfs dfs -mkdir [-p] <path>

<path> 占位符替换为根容器名称或容器中的文件夹。

例如:hdfs dfs -mkdir abfs://my-file-system@mystorageaccount.dfs.core.chinacloudapi.cn/

删除文件或目录

hdfs dfs -rm <path>

<path> 占位符替换为要删除的文件或文件夹的 URI。

例如:hdfs dfs -rmdir abfs://my-file-system@mystorageaccount.dfs.core.chinacloudapi.cn/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 文件系统 Shell 指南网站。

后续步骤