Share via


使用 HDFS CLI 搭配 Data Lake Storage Gen2

您可以使用命令列介面來存取和管理儲存體帳戶中的資料,就如同使用 Hadoop 分散式檔案系統 (HDFS) 一樣。 本文提供一些可協助您開始使用的範例。

HDInsight 可以存取本機連結至計算節點的分散式容器。 您可以使用與 HDFS 直接互動的殼層,以及 Hadoop 支援的其他檔案系統,來存取此容器。

如需有關 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.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 Gen2 之儲存體帳戶中的資料,即使在 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 檔案系統殼層指南網站上檢視完整的命令清單。

下一步