您可以在已經(jīng)創(chuàng)建好的E-MapReduce(簡稱EMR)集群中,直接使用Alluxio Shell命令來對Alluxio中的文件進行操作,也可以使用Hadoop Shell命令操作Alluxio中的文件。本文為您介紹Alluxio的常見命令。

前提條件

背景信息

Alluxio常見命令如下表所示。
命令 功能
mkdir

在Alluxio文件系統(tǒng)中創(chuàng)建目錄。

cat

查看Alluxio上文件的內(nèi)容。

ls

在文件或者目錄創(chuàng)建完之后,您可以查看指定路徑下的文件或目錄信息。在查看文件或目錄信息的時候需要給出絕對路徑。

mv

移動文件或目錄到目標路徑。

copyFromLocal

上傳本地文件到Alluxio的指定路徑。

copyToLocal

下載Alluxio指定路徑的文件到本地路徑。

rm

刪除Alluxio系統(tǒng)中指定的文件。

關(guān)于Alluxio的更多命令介紹,請參見Alluxio

mkdir

在Alluxio文件系統(tǒng)中創(chuàng)建目錄。

  • 語法
    • Alluxio Shell用法:
      alluxio fs mkdir <path1> [path2] ... [pathn]
    • Hadoop Shell用法:
      hadoop dfs -mkdir alluxio://<path1> [path2] ... [pathn]
  • 示例:
    • 在Alluxio文件系統(tǒng)中,創(chuàng)建/dir目錄。
      alluxio fs mkdir /dir
      返回如下信息表示創(chuàng)建目錄成功。
      Successfully created directory /dir
    • dir目錄下,創(chuàng)建logs目錄。
      alluxio fs mkdir /dir/logs
      返回如下信息表示創(chuàng)建目錄成功。
      Successfully created directory /dir/logs

ls

在文件或者目錄創(chuàng)建完之后,您可以查看指定路徑下的文件或目錄信息。在查看文件或目錄信息的時候需要給出絕對路徑。

  • 語法
    • Alluxio Shell用法:
      alluxio fs ls <path>
    • Hadoop Shell用法:
      hadoop dfs -ls alluxio://<path>
  • 示例:
    • 查看/tmp目錄下hello.txt文件的信息。
      alluxio fs ls /tmp/hello.txt
      ls-1
    • 查看/dir/logs目錄的信息。
      alluxio fs ls /dir/logs
      ls-2

cat

查看Alluxio上文件的內(nèi)容。

  • 語法
    • Alluxio Shell用法:
      alluxio fs cat <path>
    • Hadoop Shell用法:
      hadoop dfs -cat alluxio://<path>
  • 示例:查看/tmp3目錄下hello.txt文件的內(nèi)容。
    alluxio fs cat hello.txt
    返回hello.txt文件的內(nèi)容。cat-1

mv

移動文件或目錄到目標路徑。

  • 語法
    • Alluxio Shell用法:
      alluxio fs mv <path>
    • Hadoop Shell用法:
      hadoop dfs -mv alluxio://<path>
  • 示例
    • 移動/tmp/目錄下的文件hello.txt/tmp3/logs/目錄下。
      alluxio fs mv /tmp/hello.txt /tmp3/logs/hello.txt
      您可以通過ls命令查看文件移動的情況。mv-1
    • 移動/tmp/路徑下的test目錄至/dir/sub-dir/目錄下。
      hadoop fs -mv /tmp/test /dir/sub-dir/
      您可以通過ls命令查看目錄移動的情況。mv-2

copyFromLocal

注意 上傳本地文件到Alluxio的指定路徑時,Alluxio Shell使用的是copyFromLocal命令,Hadoop Shell使用的是put命令。

上傳本地文件到Alluxio的指定路徑。

  • 語法
    • Alluxio Shell用法:
      alluxio fs copyFromLocal <src> <remoteDst>
    • Hadoop Shell用法:
      hadoop dfs -put <src> alluxio://<remoteDst>
  • 示例:上傳本地文件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系統(tǒng)中/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系統(tǒng)中指定的文件。

  • 語法
    • Alluxio Shell用法:
      alluxio fs rm <path>
    • Hadoop Shell用法:
      hadoop dfs -rm alluxio://<path>
  • 示例:刪除Alluxio系統(tǒng)中/dir/logs2目錄下的文件hello_world.txt
    alluxio fs rm /dir/logs2/hello_world.txt
    返回如下信息表示刪除成功。
    /dir/logs2/hello_world.txt has been removed