Share via


Data Lake Storage Gen2 で HDFS CLI を使用する

ストレージ アカウント内のデータにアクセスして管理するには、Hadoop 分散ファイル システム (HDFS) の場合と同様にコマンド ライン インターフェイスを使用します。 この記事では、作業を始めるのに役立つ例をいくつか示します。

HDInsight では、それぞれのコンピューティング ノードにローカルに割り当てられている分散コンテナーにアクセスできます。 このコンテナーにアクセスするには、Hadoop でサポートされる HDFS などのファイル システムと直接対話するシェルを使用する必要があります。

HDFS CLI の詳細については、公式ドキュメント、および「HDFS Permissions Guide (HDFS 権限ガイド)」を参照してください。

注意

HDInsight の代わりに Azure Databricks を使用しており、コマンド ライン インターフェイスを使用してデータを操作したい場合は、Databricks CLI を使用して Databricks ファイル システムを操作してください。 「Databricks CLI」を参照してください。

Linux の HDInsight Hadoop クラスターで HDFS CLI を使用する

最初に、サービスへのリモート アクセスを確立します。 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 portal 内の HDInsight クラスター ブレードの "SSH + Cluster login" セクションで確認できます。 SSH 資格情報は、クラスターの作成時に指定されています。

重要

HDInsight クラスターの課金は、クラスターが作成された後に開始し、クラスターが削除されると停止します。 課金は分単位なので、クラスターを使わなくなったら必ず削除してください。 クラスターを削除する方法については、トピックに関する記事を参照してください。 ただし、HDInsight クラスターを削除しても、Data Lake Storage Gen2 が使用可能なストレージ アカウントに保存されているデータは削除されません。

コンテナーを作成する

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 ファイル システム シェル ガイドの Web サイトでご覧になれます。

次の手順