- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hadoop in Action 翻译 第三章(文件操作命令部分)
Components of Hadoop在上一章节我们了解了如何安装及配置Hadoop。我们了解了不同节点的作用以及这些节点是如何工作的,还了解了如何配置这些节点。现在我们可以运行Hadoop了,现在我们从程序的角度了解一下Hadoop框架。首先我们讲解HDFS,HDFS用来存储你的Hadoop应用的各种数据。之后我们讲解MapReduce框架的细节。第一章时,我们已经看到了MapReduce程序,但是我们只是停留在概念层。在这一章我们将进入Java类和方法层面,当然还包括如何部署。我们还会知道如何使用不同数据格式进行读写操作。Working with files in HDFS你可以将100TB的数据集作为一个单独的数据存储在HDFS中,有时仅仅这一点就足以强过其他文件系统。我们在第二章讨论了HDFS的复制机制。HDFS隐藏了这些底层的处理机制,让开发者感觉只是在处理某个单独的文件。HDFS并不是Unix的原生的文件系统,所以标准的Unix文件工具,比如ls和cp不可用,并且也无法使用标准的Unix文件IO操作。但是,Hadoop提供一系列与Unix非常相似的命令和工具。下一节,我们将讨论这些Hadoop文件操作shell命令。之后,我们将看到Hadoop HDFS Java API基本的文件操作命令:hadoop fs -cmd args其中cmd指具体的文件操作命令。args是命令参数。通常来讲cmd命令与Unix的命令相同。比如说,文件列表命令就是:hadoop fs -ls我们看一下常见的文件操作命令包括:1.新建文件及目录2.检索文件3.删除文件新建文件及目录:在运行Hadoop程序之前,我们需要将数据先放进HDFS。我们先假设已经格式化好了整个HDFS系统,并且运行了Hadoop程序。HDFS的默认工作路径是 /usr/$USER,这个$USER就是指的登陆名。但是这个目录并不会自动建立,所以我们需要使用mkdir命令手动建立这个目录。比如我的用户名是chuck。当然各位看官如果想自己试试,那要使用你自己的用户名。hadoop fs -mkdir /user/chuckHadoops mkdir 命令使用-p参数回自动创建父一级的目录。使用ls命令可以查看:hadoop fs -ls /这是你就会看到刚刚创建的文件目录的了。使用 hadoop fs -lsr / 还可以看到其子目录下的内容起作用与Unix下的ls -r效果相同。通过URI精确访问指定的目录 Hadoop 文件命令行可以让HDFS与本地文件系统交互。同时也可以与Amazon S3交互。一个URI 指向一个确定的文件或者目录。完整的URI格式为:scheme://authority/path。scheme类似于协议的意思。authority是指NameNode所在的服务器host。path是指文件或者路径的位置。 比如说,一个标准的伪分布式的HDFS运行在本机的9000端口。那么如果想要访问user/chuck目录下的example.txt文件。其URI就是hdfs://localhost:9000/user/chuck/example.txt。 运行的命令就是 hadoop fs -cat hdfs://localhost:9000/user/chuck/example.txt。如你所见,大多数的设置下,URI中不需要指定scheme://authority。处理本地文件时,你可能更愿意使用Unix 命令而不是hadoop file 命令。 所以在本地文件与hdfs的拷贝过程中,在URI上即便不加file:scheme,put命令与get命令也会使用本地系统作为目的地或者数据源另外,如果你在Hadoop 的配置中配置了scheme://authority部分。那么在你的命令中就可以省略这个部分。比如:如果你的conf/hadoop-site.xml中配置如下: propertynamefs.default.name/namevaluehdfs://localhost:9000/value/property在这个配置下,URI hdfs://localhost:9000/user/chuck/example.txt可以缩写为 /user/chuck/example.txt此外,HDFS默认使用的目录为:/user/$USER 这个$USER就是你的登录用户名。如果你用chuck登录,那么如果要访问的URI是 hdfs://localhost:9000/user/chuck/example.txt。你甚至可以缩写为example.txt。此时,你在用cat命令时,只用输入: hadoop fs -cat example.txtRETRIEVING FI
文档评论(0)