Hadoop文件系统和文件命令
博客专区 > cookqq 的博客 > 博客详情
Hadoop文件系统和文件命令
cookqq 发表于5年前
Hadoop文件系统和文件命令
  • 发表于 5年前
  • 阅读 214
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

转载:http://www.cookqq.com/lookBlog.action?id=8ab30321-35f1-4764-b4bd-ec127ab5bcf2


Hadoop有一个抽象的文件系统概念,HDFS只是其中的一个实现。Java抽象类 org.apache.hadoop.fs.FileSystem展示了Hadoop的一个文件系统,而且有几个具体实现,如表 

文件系统

URI
方案

Java

(全部在
org.apache.hadoop)

描述

Local

file

fs.LocalFileSystem

针对有客户端校验和

的本地连接磁盘使用

的文件系统。针对没

有校验和的本

地文件系统使用

RawLocalFileSystem

详情参见第4

HDFS

hdfs

hdfs.Distributed-

FileSystem

Hadoop的分布式

文件系统。HDFS

被设计为结合使用

Map-Reduce实现高

效工作

HFTP

hftp

hdfs.HftpFileSystem

一个在HTTP上提

供对HDFS只读访

问的文件系统(虽然

其名称为HFTP,但

它与FTP无关)。通

常与distcp结合使用

(参见第3),在运

行不同版本HDFS

集群间复制数据

HSFTP

hsftp

hdfs.Hsftp-
FileSystem

HTTPS上提供对

HDFS只读访问的

文件系统(同上,与

FTP无关)

HAR

har

fs.HarFileSystem

一个构建在其他文

件系统上来存档文

件的文件系统。Hadoop

存档一般在HDFS

的文件存档时使用,

以减少名称节点内存的使用

KFS(Cloud-Store)

kfs

fs.kfs.Kosmos-
FleSystem

cloudstore(其前身是

Kosmos文件系统)

是相似于HDFS或是

GoogleGFS的文件

系统,用C++

写。详

情可参见http://kosmosfs.
sourceforge.net/

FTP

ftp

fs.ftp.FTP-
FileSystem

FTP服务器支持的

文件系统

S3(本地)

s3n

fs.s3native.Native-
S3FileSystem.

Amazon S3

持的文件

系统。可参见

http://wiki.apache.org
/hadoop/AmazonS3

S3(基于
)

s3

fs.s3.S3FileSystem

 Amazon S3

持的文件系统

以块格式存储文件

(HDFS很相似)

来解决S35 GB

文件大小限制

Hadoop提供了许多文件系统的接口,它一般使用URI 方案来选取合适的文件系统实例交互。举例来说,我们在前一小节中研究的文件系统shell可以操作所有的Hadoop文件系统。列出本地文件系统根目录下的文件,输入以下命令:

% hadoop fs -ls file:///

尽管运行那些可访问任何文件系统的MapReduce程序是可行的(有时也很方便),但在处理大量数据时,仍然需要选择一个有最优本地数据的分布式文件系统。

 * 文件操作
 * 查看目录文件
 * $ hadoop dfs -ls /user/cl
 *
 * 创建文件目录
 * $ hadoop dfs -mkdir /user/cl/temp
 *
 * 删除文件
 * $ hadoop dfs -rm /user/cl/temp/a.txt
 *
 * 删除目录与目录下所有文件
 * $ hadoop dfs -rmr /user/cl/temp
 *
 * 上传文件
 * 上传一个本机/home/cl/local.txt到hdfs中/user/cl/temp目录下
 * $ hadoop dfs -put /home/cl/local.txt /user/cl/temp
 *
 * 下载文件
 * 下载hdfs中/user/cl/temp目录下的hdfs.txt文件到本机/home/cl/中
 * $ hadoop dfs -get /user/cl/temp/hdfs.txt /home/cl
 *
 * 查看文件
 * $ hadoop dfs –cat /home/cl/hdfs.txt
 *
 * Job操作

 * 提交MapReduce Job, Hadoop所有的MapReduce Job都是一个jar包

 * $ hadoop jar <local-jar-file> <java-class> <hdfs-input-file> <hdfs-output-dir>

 * $ hadoop jar sandbox-mapred-0.0.20.jar sandbox.mapred.WordCountJob /user/cl/input.dat /user/cl/outputdir
 *
 * 杀死某个正在运行的Job
 * 假设Job_Id为:job_201207121738_0001
 * $ hadoop job -kill job_201207121738_0001


参考《hadoop权威指南》


共有 人打赏支持
cookqq
粉丝 113
博文 268
码字总数 156096
×
cookqq
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: