您可以在已经创建好的E-MapReduce(简称EMR)集群中,直接使用hadoop fs命令来对JindoFS Cache模式上的文件进行操作。本文为您介绍JindoFS Cache模式上文件操作的常见命令。

前提条件

背景信息

Cache模式下的常见命令如下表所示。
命令 功能
mkdir

在OSS文件系统中创建目录。

put

上传本地文件到OSS的指定路径。

touchz

在OSS文件系统中新建一个或多个空文件。

ls

在文件或者目录创建完之后,您可以查看指定路径下的文件或目录信息。在查看文件或目录信息的时候需要给出绝对路径。

du

显示文件的大小或者目录中所有文件的大小。

cat

查看OSS上文件的内容。

cp

在OSS系统中,复制文件或目录到目标路径,并且保持源文件内容或目录结构不变。此命令允许有多个源路径,此时目标路径必须是一个目录。

mv

在OSS系统中,移动文件或目录到目标路径,并且不保留源文件内容或目录结构。此命令允许有多个源路径,此时目标路径必须是一个目录。

get

下载OSS指定路径的文件到本地路径。

rm

删除OSS系统中指定的文件或目录。

mkdir

在OSS文件系统中创建目录。

  • 语法
    hadoop fs -mkdir <path>
  • 示例:在OSS文件系统中,创建dir目录。
    hadoop fs -mkdir oss://<your_bucketname>/dir
    说明 本文示例中的<your_bucketname>为您OSS的Bucket名称。
    您可以通过ls命令查看创建的目录。mkdir

put

上传本地文件到OSS的指定路径。

  • 语法
    hadoop fs -put <path1> <path2>
  • 示例:上传本地文件hello.txt至OSS的/tmp目录下。
    hadoop fs -put hello.txt oss://<your_bucketname>/tmp
    您可以通过ls命令查看文件上传的情况。put

touchz

在OSS文件系统中新建一个或多个空文件。

  • 语法
    hadoop fs -touchz URI [URI ...]
  • 示例:在OSS文件系统中新建/dir/目录下的emptyfile.txt文件。
    hadoop fs -touchz oss://<your_bucketname>/dir/emptyfile.txt
    您可以通过ls命令查看新建的文件。touchz

ls

在文件或者目录创建完之后,您可以查看指定路径下的文件或目录信息。在查看文件或目录信息的时候需要给出绝对路径。

说明 hadoop fs没有进入某个目录下的概念。
  • 语法
    hadoop fs -ls <path>
  • 示例:查看dir目录的信息。
    hadoop fs -ls oss://<your_bucketname>/dir/
    dir

du

显示文件的大小或者目录中所有文件的大小。

  • 语法
    hadoop fs -du <path>
  • 示例:查看文件的大小。
    hadoop fs -du oss://<your_bucketname>/tmp/hello.txt
    du-1

cat

查看OSS上文件的内容。

  • 语法
    hadoop fs -cat <path>
  • 示例:查看hello.txt文件的内容。
    hadoop fs -cat oss://<your_bucketname>/tmp/hello.txt
    cat

cp

在OSS系统中,复制文件或目录到目标路径,并且保持源文件内容或目录结构不变。此命令允许有多个源路径,此时目标路径必须是一个目录。

说明 您也可以使用此命令对文件重命名,以保留源文件或目录。
  • 语法
    hadoop fs -cp <path1> <path2>
  • 示例:
    • 复制/tmp目录下的文件hello_world.txt/dir/sbu-dir/目录下。
      hadoop fs -cp oss://<your_bucketname>/tmp/hello_world.txt oss://<your_bucketname>/dir/sbu-dir
      您可以通过ls命令查看文件复制的情况。cp
    • 复制/tmp目录下的文件hello.txthello_world.txt/dir/sbu-dir/目录下。
      hadoop fs -cp oss://<your_bucketname>/tmp/hello.txt oss://<your_bucketname>/tmp/hello_world.txt oss://<your_bucketname>/dir/sbu-dir
      您可以通过ls命令查看文件复制的情况。cp-2

mv

在OSS系统中,移动文件或目录到目标路径,并且不保留源文件内容或目录结构。此命令允许有多个源路径,此时目标路径必须是一个目录。

说明 该命令也可以用于重命名文件。
  • 语法
    hadoop fs -mv <path1> <path2>
  • 示例:移动/tmp/目录下的文件hello_world.txt/dir/sbu-dir/目录下。
    hadoop fs -mv oss://<your_bucketname>/tmp/hello_world.txt oss://<your_bucketname>/dir/sbu-dir
    您可以通过ls命令查看文件移动的情况。cp

get

下载OSS指定路径的文件到本地路径。

  • 语法
    hadoop fs -get <path1> <path2>
  • 示例:下载OSS系统中/dir/sbu-dir/目录下的文件hello_world.txt至本地的/emr路径下。
    hadoop fs -get oss://<your_bucketname>/dir/sbu-dir/hello_world.txt /root/emr
    您可以通过ls命令查看文件下载的情况。get

rm

删除OSS系统中指定的文件或目录。

  • 语法
    hadoop fs -rm <path>
    说明 您也可以使用rmr命令,删除OSS系统中指定的文件或目录。
  • 示例:删除OSS系统中/dir/sbu-dir/目录下的文件hello_world.txt
    hadoop fs -rm oss://<your_bucketname>/dir/sbu-dir/hello_world.txt
    您可以通过ls命令查看文件删除的情况。rm