hadoop解压tar.gz文件之后修改文件名

hadoop解压tar.gz文件之后修改文件名,第1张

1、pwd:显示当前路径

cd :切换目录

用法:cd

cd ../ 切换到上级目录

cd / 切换到根目录

cd ~ (或只有cd )切换到当前用户主目录(home底下以用户名命名的文件夹) /root目录mkdir 创建目录

mkdir 目录名 -p 递归创建目录

2、rmdir 删除空目录

用法:rmdir 目录名

也可用:rm -rf 目录名

3、ls 查看目录或文件信息

主要选项:

-l 列出目录或者文件的详细信息。比如权限、修改时间等等

-a 列出当前目录下所有文件,包括隐藏文件(已点开头的都是隐藏文件)

4、vi 文本编辑器

键入i 进入编辑状态

退出编辑按ESC键

不保存退出: :q!

保存退出: :wq

输入/,进入搜索

输入:set nu,显示每一行的行数

按键盘G,可以直接定位到最末尾

5、cp 复制

用法:cp [选项]文件名或目录 目标地址

-R 拷贝目录及目录下所有目录和文件

cp a.txt b.txt 将a文件复制,且另命名为b文件(目录名)

6、mv 移动

用法:mv 文件名或目录 目标目录

mv a.txt ../ 将a文件移动到上级目录(将一个文件移动到另一个目录没有重命名)

mv a.txt ../b.txt 将a文件移动到上一级并改名为b文件(将一个文件移动到另一个目录并重命名)

使用MultipleOutputs类可以实现自定义输出文件名。

The MultipleOutputs class simplifies writing output data

to multiple outputs

Case one: writing to additional outputs other than the job default output.

Each additional output, or named output, may be configured with its own

OutputFormat, with its own key class and with its own value

class.

Case two: to write data to different files provided by user

MultipleOutputs supports counters, by default they are disabled. The

counters group is the MultipleOutputs class name. The names of the

counters are the same as the output name. These count the number records

written to each output name.

使用方法参考API:

// Defines additional single text based output 'text' for the job

MultipleOutputs.addNamedOutput(job, "text", TextOutputFormat.class,

LongWritable.class, Text.class)

// Defines additional sequence-file based output 'sequence' for the job

MultipleOutputs.addNamedOutput(job, "seq",

SequenceFileOutputFormat.class,

LongWritable.class, Text.class)

...

HDFS命令基本格式:hadoop fs -cmd <args >

表格:

注意:以上表格中路径包括hdfs中的路径和linux中的路径。对于容易产生歧义的地方,会特别指出“linux路径”或者“hdfs路径”。如果没有明确指出,意味着是hdfs路径。

HDFS有一个默认的工作目录/user/$USER,其中$USER是用户的登录用户名。不过目录不会自动建立,需要mkdir建立它

命令格式:hadoop fs -mkdir

注意:支持级联创建新目录,Hadoop的mkdir命令会自动创建父目录,类似于带-p的linux命令

put命令从本地文件系统中 复制单个或多个 源路径到目标文件系统,也支持从标准输入设备中读取输入并写入目标文件系统。分为本地上传和上传到HDFS中。

命令格式:hadoop fs -put filename

最后一个参数是句点,相当于放入了默认的工作目录,等价于 hadoop fs -put example.txt /user/chen

上传文件时,文件首先复制到DataNode上,只有所有的DataNode都成功接收完数据,文件上传才是成功的。

命令格式:hadoop dfs put filename newfilename

从本地文件系统中复制单个或多个源路径到目标文件系统。也支持从 标准输入 中读取输入写入目标文件系统。

采用-ls命令列出HDFS上的文件。在HDFS中未带参数的-ls命令没有返回任何值,它默认返回HDFS的home目录下

的内容。在HDFS中,没有当前工作目录这样一个概念,也没有cmd这样的命令。

命令格式:user@NameNode:hadoop$ bin/hadoop dfs -ls

如:

通过“-ls 文件夹名” 命令浏览HDFS下文件夹中的文件

命令格式:hadoop dfs -ls 文件夹名

通过该命令可以查看in文件夹中的所有文档文件

通过“-cat 文件名”命令查看HDFS下文件夹中某个文件的内容

命令格式:hadoop$ bin/hadoop dfs -cat 文件名

通过这个命令可以查看in文件夹中所有文件的内容

通过“-get 文件按1 文件2”命令将HDFS中某目录下的文件复制到本地系统的某文件中,并对该文件重新命名。

命令格式:hadoop dfs -get 文件名 新文件名

-get 命令与-put命令一样,既可以 *** 作目录,也可以 *** 作文件

通过“-rmr 文件”命令删除HDFS下的文件

命令格式:hadoop$ bin/hadoop dfs -rmr 文件

-rmr 删除文档命令相当于delete的递归版本。

通过-format命令实现HDFS格式化

命令格式:user@NameNode:hadoop$ bin/hadoop NameNode -format

通过运行start-dfs.sh,就可以启动HDFS了

命令格式:user@NameNode:hadoop$ bin/ start-dfs.sh

当需要退出HDFS时,通过stop-dfs.sh 就可以关闭HDFS

命令格式:user@NameNode:hadoop$ bin/ stop-dfs.sh

HDFS的命令远不止这些,对于其他 *** 作,可以通过-help commandName 命令列出清单。下面列举一些命令进行说明。

(1)chgrp改变文件所属的组命令

chgrp命令的用途是:更改文件或目录的组所有权。

语法格式:hadoop fs -charg [-R] GROUP URL .....

使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者超级用户。

(2)chmod改变文件的权限

chmod用于改变文件或目录的访问权限,这个Linux系统管理员最常用的命令之一。

使用方法:hadoop fs -chmod [-R] ...

使用-R将使改变在目录结构下递归进行。命令的使用者必须是文件的所有者或者是超级用户

(3)chown改变文件的拥有者

chown命令改变文件的拥有者。

使用方法:hadoop fs -chown [-R]....

使用-R将使改变在目录结构下递归进行。命令的使用者必须是超级用户。

(4)copyFromLocal命令

除了限定 源路径 是只能是一个 本地文件 外,其他方面和put命令相似。

使用方法:hadoop fs -copyFromLocal <localsrc>URI

(5)copyToLocal命令

除了限定 目标路径 是一个 本地文件 外,其他方面和get命令类似。

使用方法:hadoop fs -copyToLocal {-ignorecrc} {-crc} URI <localdst>

(6)cp命令

cp命令是将文件从源路径复制到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。

使用方法:hadoop fs -cp URI [URI....] <dest>

返回值:成功返回0 ,失败返回-1

(7)du命令

du命令显示目录中 所有文件的大小 ,或者当只指定一个文件时,显示此文件的大小

使用方法:hadoop fs -du URI [URI........]

返回值

成功返回0,失败返回-1

(8)dus命令

dus是显示 文件大小 的命令。

使用方法:hadoop fs -dus <args>

(9)expunge命令

expunge是清空回收站的命令

使用方法:hadoop fs -expunge

(10)get命令

get是复制文件到本地文件系统的命令

使用方法:hadoop fs -get [-ignorecrc] [-crc] <localdst>

可用-ignorecrc选项复制CRC校验失败的文件:使用-CRC选项复制文件以及CRC信息。

返回值

成功返回0,失败返回-1

(11)getmerge命令

getmerge命令用于接受一个源目录和一个目标文件作为输入,并且将源目录中所有的文件合并成本地目标文件。

使用方法:hadoop fs -getmerge <src><localdst>[addnl]

参数说明:addl是可选的,用于指定在每个文件结尾添加一个换行符;

假设在你的hdfs集群上有一个/user/hadoop/output目录

里面有作业执行的结果(多个文件组成)part-000000,part-000001,part-000002

然后就可以在本地使用vi local_file查看内容了

(12)ls命令

ls命令查看当前目录下的信息

使用方法:hadoop fs -ls <args>

如果是 文件 ,则按照如下格式返回文件信息:

文件名 <副本数>文件大小 修改日期 修改时间 权限 用户ID 组ID

如果是 目录 ,则返回它直接子文件的一个列表,就像在UNIX中一样。目录返回i额表的信息如下:

目录名<dir>修改日期 修改时间 权限 用户ID 组ID

返回值

成功返回0,失败返回-1

(13)lsr命令

lsr命令是-ls命令的递归版,类似于UNIX中的ls-r。

使用方法:hadoop fs -lsr <args>

(14)movefromLocal命令

复制一份本地文件到hdfs,当成功后,删除本地文件

使用方法:dfs -moveFromLocal <src><dst>

(14.5)moveToLocal命令

类似于-get,但是当复制完成后,会删除hdfs上的文件

使用方法:moveToLocal <src><localDest>

(15)mv命令

将文件从源路径移动到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录

使用方法:hadoop fs -mv URI [URI.....] <dest>

备注:不允许在不同的文件系统间移动文件。

返回值

成功返回0,失败返回-1

(16)put 命令

put命令从本地文件系统中复制单个或多个源路径到目标文件系统,也支持从标准输入中读取输入写入目标文件系统

使用方法:hadoop fs -put <localsrc>.... <dst>

(17)rm命令

rm命令删除指定的文件,只删除非空目录和文件。

使用方法:hadoop fs -rm URI [URI......]

请参考rmr命令了解递归删除。

(18)rmr命令

rmr命令是delete命令的递归版本

使用方法:hadoop fs -rmr URI [URI.......]

返回值

成功返回0,失败返回-1

(19)setrep命令

setrep命令可以改变一个文件的副本系数。

使用方法:hadoop fs -setrep [-R] <path>

参数说明:-R 选项用于递归改变目录下所有文件的副本系数

返回值

成功返回0,失败返回-1

(20)stat命令

stat命令用于返回指定路径的统计信息

使用方法:hadoop fs -stat URI [URI......]

返回值

成功返回0,失败返回-1

(21)tail命令

tail命令将文件尾部1KB的内容输出到stdout。支持-f选项,行为和UNIX中一致

使用方法:hadoop fs -tail [-f] URI

返回值

成功返回0,失败返回-1

(22)test命令

test命令是检查命令,可以检查文件是否存在、文件的大小等。

使用方法:hadoop fs -test -[ezd] URI

(23)text命令

text命令用于将源文件输出问文本格式

使用方法:hadoop fs -text <src>

允许的格式是zip和TextRecordInputStream。

(24)touchz 命令

touchz命令用于创建一个0字节的空文件。

使用方法: hadoop fs -touchz URI [URI....]

返回值

成功返回0,失败返回-1


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11638385.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存