- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实训指导:HDFS数据读过程
一、实训目的
1.理解HDFS在Hadoop体系结构中角色
2.熟悉使用HDFS操作常用的Shell命令
3.熟悉HDFS操作常用的Java API
二、实训设备
1.操作系统:Ubuntu-16.04
2.Hadoop版本:2.6.0
3.JDK版本:1.8
4.IDE:Eclipse
三、背景知识
1.具备Ubuntu基础知识与操作
2.具备java基本编程能力
3.熟悉Eclipse操作
4.会Hadoop安装与配置
四、实训内容和要求
1.编程实现以下指定功能,并利用Hadoop提供的Shell命令完成相同的任务。
1)向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,有用户指定的是追加到原有文件末尾还是覆盖原有的文件。
2)从HDFS中下载指定文件,如果本地文件与要下载的文件名称相同,则自动对下载的文件重命名。
3)将HDFS中指定文件的内容输出到终端。
4)显示HDFS中指定的文件的读写权限、大小、创建时间、路径等信息。
5)给定HDFS中某一个目录,输出该目录下的所有文件的读写权限、大小、创建时间、路径等信息,如果该文件是目录,则递归输出该目录下所有文件相关信息。
6)提供一个HDFS内的文件的路径,对该文件进行创建和删除操作。如果文件所在目录不存在,则自动创建目录。
7)提供一个HDFS的目录的路径,对该目录进行创建和删除操作。创建目录时,如果目录文件所在目录不存在则自动创建相应目录。删除目录时,由用户指定当该目录不为空时是否还删除该目录。
8)向HDFS中指定的文件追加内容,由用户指定内容追加到原有文件的开头或结尾。
9)删除HDFS中指定的文件。
10)删除HDFS中指定的目录,由用户指定目录中如果存在文件时是否删除目录。
11)在HDFS中,将文件从源路径移动到目的路径。
2.编程实现一个类“MyFSDataInputStream”,该类继承“org.apache.hadoop.fs.FSData Input Stream”,要求如下:实现按行读取HDFS中指定文件的方法“readLine()”,如果读到文件末尾,则返回空,否则返回文件一行的文本。
1)实现按行读取HDFS中指定文件的方法“readLine()”,如果读到文件末尾,则返回为空,否则返回文件一行文本。
2)实现缓存功能,即利用“MyFSDataInputStream”读取若干字节数据时,首先查找缓存,如果缓存中有所需的数据,则直接由缓存提供,否则向HDFS读取数据。
3.查看Java帮助手册或其它资料,用“java.net.URL”和“org.apache.hadoop.fs.FsURL StreamHandlerFactory”编程完成输出HDFS中指定文件的文本到终端中。
五、实训步骤
1.编程实现以下指定功能,并利用Hadoop提供的Shell命令完成相同的任务。
1)向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,有用户指定的是追加到原有文件末尾还是覆盖原有的文件。
Shell命令实现:
先到Hadoop主文件夹
cd /usr/local/hadoop
启动Hadoop服务
sbin/start-dfs.sh
sbin/start-yarn.sh
创建两个任意文本文件用于实验
echo hello world local.txt
echo hello hadoop text.txt
检查文件是否存在
hadoop fs -test -e text.txt
echo $?
上传本地文件到HDFS系统(上传之后再执行一遍上一步,如果是第一次做HDFS操作第一次做这一步会出错,可以直接做一次hadoop fs -appendToFile local.txt text.txt就能解决)
hadoop fs -put text.txt
追加到文件末尾的指令
hadoop fs -appendToFile local.txt text.txt
查看HDFS文件的内容
hadoop fs -cat text.txt
覆盖原有文件的指令(覆盖之后再执行一遍上一步)
hadoop fs -copyFromLocal -f local.txt text.txt
以上步骤也可以用如下命令实现
if $(hadoop fs -test -e text.txt);
then $(hadoop fs -appendToFile local.txt text.txt);
else $(hadoop fs -copyFromLocal -f local.txt text.txt);
fi
Eclipse的使用
找到 File 菜单,选择 New - Project
选择 Map/Red
您可能关注的文档
- 冲压模具设计与制造 情境一 冲压模具设计与制造技术导论 情境1试卷二答案.doc
- 冲压模具设计与制造 情境一 冲压模具设计与制造技术导论 学习情境1 教学设计方案.doc
- 宠物疾病诊疗 皮下血肿、脓肿及淋巴外渗穿刺 皮下血肿、脓肿、淋巴外渗穿刺.doc
- 宠物疾病诊疗 血液类型 输血类型.doc
- 宠物鉴赏 观赏鸟的鉴赏 锦 鸡.doc
- 宠物解剖生理 宠物解剖生理 神经纤维传导的速度和分类.docx
- 宠物美容 宠物美容 AKC贵宾犬的图解.doc
- 宠物美容 宠物美容、雪纳瑞犬的美容造型修剪 雪纳瑞造型修剪.doc
- 宠物外产科 疝的修补术 腹股沟疝修补术.doc
- 宠物外产科 手术器械的识别与使用 手术器械的识别与使用.doc
文档评论(0)