您可以在已經建立好的E-MapReduce(簡稱EMR)叢集中,直接使用Alluxio Shell命令來對Alluxio中的檔案進行操作,也可以使用Hadoop Shell命令操作Alluxio中的檔案。本文為您介紹Alluxio的常見命令。
前提條件
背景資訊
Alluxio常見命令如下表所示。
命令 | 功能 |
mkdir | 在Alluxio檔案系統中建立目錄。 |
cat | 查看Alluxio上檔案的內容。 |
ls | 在檔案或者目錄建立完之後,您可以查看指定路徑下的檔案或目錄資訊。在查看檔案或目錄資訊的時候需要給出絕對路徑。 |
mv | 移動檔案或目錄到目標路徑。 |
copyFromLocal | 上傳本地檔案到Alluxio的指定路徑。 |
copyToLocal | 下載Alluxio指定路徑的檔案到本地路徑。 |
rm | 刪除Alluxio系統中指定的檔案。 |
關於Alluxio的更多命令介紹,請參見Alluxio。
mkdir
在Alluxio檔案系統中建立目錄。
- 文法
- Alluxio Shell用法:
alluxio fs mkdir <path1> [path2] ... [pathn]
- Hadoop Shell用法:
hadoop dfs -mkdir alluxio://<path1> [path2] ... [pathn]
- Alluxio Shell用法:
- 樣本:
- 在Alluxio檔案系統中,建立/dir目錄。
alluxio fs mkdir /dir
返回如下資訊表示建立目錄成功。Successfully created directory /dir
- 在dir目錄下,建立logs目錄。
alluxio fs mkdir /dir/logs
返回如下資訊表示建立目錄成功。Successfully created directory /dir/logs
- 在Alluxio檔案系統中,建立/dir目錄。
ls
在檔案或者目錄建立完之後,您可以查看指定路徑下的檔案或目錄資訊。在查看檔案或目錄資訊的時候需要給出絕對路徑。
- 文法
- Alluxio Shell用法:
alluxio fs ls <path>
- Hadoop Shell用法:
hadoop dfs -ls alluxio://<path>
- Alluxio Shell用法:
- 樣本:
- 查看/tmp目錄下hello.txt檔案的資訊。
alluxio fs ls /tmp/hello.txt
- 查看/dir/logs目錄的資訊。
alluxio fs ls /dir/logs
- 查看/tmp目錄下hello.txt檔案的資訊。
cat
查看Alluxio上檔案的內容。
- 文法
- Alluxio Shell用法:
alluxio fs cat <path>
- Hadoop Shell用法:
hadoop dfs -cat alluxio://<path>
- Alluxio Shell用法:
- 樣本:查看/tmp3目錄下hello.txt檔案的內容。
alluxio fs cat hello.txt
返回hello.txt檔案的內容。
mv
移動檔案或目錄到目標路徑。
- 文法
- Alluxio Shell用法:
alluxio fs mv <path>
- Hadoop Shell用法:
hadoop dfs -mv alluxio://<path>
- Alluxio Shell用法:
- 樣本
- 移動/tmp/目錄下的檔案hello.txt至/tmp3/logs/目錄下。
alluxio fs mv /tmp/hello.txt /tmp3/logs/hello.txt
您可以通過ls命令查看檔案移動的情況。 - 移動/tmp/路徑下的test目錄至/dir/sub-dir/目錄下。
hadoop fs -mv /tmp/test /dir/sub-dir/
您可以通過ls命令查看目錄移動的情況。
- 移動/tmp/目錄下的檔案hello.txt至/tmp3/logs/目錄下。
copyFromLocal
重要 上傳本地檔案到Alluxio的指定路徑時,Alluxio Shell使用的是
copyFromLocal
命令,Hadoop Shell使用的是put
命令。上傳本地檔案到Alluxio的指定路徑。
- 文法
- Alluxio Shell用法:
alluxio fs copyFromLocal <src> <remoteDst>
- Hadoop Shell用法:
hadoop dfs -put <src> alluxio://<remoteDst>
- Alluxio Shell用法:
- 樣本:上傳本地檔案hello_world.txt至Alluxio的/dir/logs2路徑下。
alluxio fs copyFromLocal hello_world.txt /dir/logs2
返回如下資訊表示上傳成功。Copied file:///root/hello_world.txt to /dir/logs2
copyToLocal
重要 下載Alluxio指定路徑的檔案到本地路徑時,Alluxio Shell使用的是
copyToLocal
命令,Hadoop Shell使用的是get
命令。下載Alluxio指定路徑的檔案到本地路徑。
- 文法
- Alluxio Shell用法:
alluxio fs copyToLocal <src> <localDst>
- Hadoop Shell用法:
hadoop dfs -get <src> alluxio://<localDst>
- Alluxio Shell用法:
- 樣本:下載Alluxio系統中/dir/sub-dir/目錄下的檔案hello_world2.txt至本地的/emr路徑下。
alluxio fs copyToLocal /dir/sub-dir/hello_world2.txt /emr
返回如下資訊表示下載成功。Copied /dir/sub-dir/hello_world2.txt to file:///emr
rm
刪除Alluxio系統中指定的檔案。
- 文法
- Alluxio Shell用法:
alluxio fs rm <path>
- Hadoop Shell用法:
hadoop dfs -rm alluxio://<path>
- Alluxio Shell用法:
- 樣本:刪除Alluxio系統中/dir/logs2目錄下的檔案hello_world.txt。
alluxio fs rm /dir/logs2/hello_world.txt
返回如下資訊表示刪除成功。/dir/logs2/hello_world.txt has been removed