Hadoop—熟悉常用的HDFS操作和数据库操作
持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第19天,点击查看活动详情。
实验名称
熟悉常用的HDFS操作和数据库操作
实验目的
-
理解HDFS在Hadoop体系结构中的角色;
-
熟练使用HDFS操作常用的Shell命令;
-
熟悉HDFS操作常用的Java API。
-
理解HBase在Hadoop体系结构中的角色;
-
熟练使用HBase操作常用的Shell命令;
-
熟悉HBase操作常用的Java API。
-
理解NoSQL数据库和关系型数据库的区别;
-
熟练使用MongoDB操作常用的Shell命令;
实验内容与结果分析
- 利用Hadoop提供的Shell命令完成:
(1)
(2) 向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,由用户指定是追加到原有文件末尾还是覆盖原有的文件;
(3) 从HDFS中下载指定文件,如果本地文件与要下载的文件名称相同,则自动对下载的文件重命名;
(4) 将HDFS中指定文件的内容输出到终端中;
(5) 显示HDFS中指定的文件的读写权限、大小、创建时间、路径等信息;
(6) 给定HDFS中某一个目录,输出该目录下的所有文件的读写权限、大小、创建时间、路径等信息,如果该文件是目录,则递归输出该目录下所有文件相关信息;
(7) 提供一个HDFS内的文件的路径,对该文件进行创建和删除操作。如果文件所在目录不存在,则自动创建目录;
(8) 提供一个HDFS的目录的路径,对该目录进行创建和删除操作。创建目录时,如果目录文件所在目录不存在则自动创建相应目录;删除目录时,由用户指定当该目录不为空时是否还删除该目录;
(9) 向HDFS中指定的文件追加内容,由用户指定内容追加到原有文件的开头或结尾;
(10) 删除HDFS中指定的文件;
(11) 删除HDFS中指定的目录,由用户指定目录中如果存在文件时是否删除目录;
(12) 在HDFS中,将文件从源路径移动到目的路径。
- 编程实现以下指定功能:
(1) 编写一个Java程序,打开一个HDFS中的文件,并读取其中的数据,输出到标准输出;
(2)
(3)
(4)
(5)
(6) 编写一个Java程序,判断HDFS的/user/hadoop家目录下是否存在test.txt文件,如果没有则在家目录中新建一个test.txt文件,并向其中写入你的名字;
(7)
第二部分
(1) HBase中创建表(create),并查看表(describe)
(2) HBase数据库基本操作
- 添加数据:put命令
- delete以及deleteall命令进行删除数据操作( delete用于删除一个数据,是put的反向操作;deleteall操作用于删除一行数据)
- 查看数据
查看表的某一行数据;查看某个表的全部数据(get命令,用于查看表的某一行数据;scan命令用于查看某个表的全部数据)
- 删除表
删除表有两步,第一步先让该表不可用(disable),第二步删除表(drop)。
(3) 查询表历史数据(get)
(4) 退出HBase数据库表操作(exit)
最后退出数据库操作,输入exit命令。注意:这里退出HBase数据库是退出对数据库表的操作,而不是停止启动HBase数据库后台运行。
3、Shell进阶练习
(1)根据上面给出的表格,用Hbase Shell模式设计学生表格,表名用自己姓名全拼。
| name | score | ||
|---|---|---|---|
| Math | Computer | English | |
| zhangsan | 69 | 86 | 77 |
| lisi | 55 | 100 | 88 |
a) 设计完后,用scan指令浏览表的相关信息,给出截图。
b)
c) 查询行键为zhangshengrui的各科成绩信息。给出截图。
d) 查询zhangshengrui 的Computer成绩。给出截图。
e) 插入一条新的学生数据(wangwu,100,90,90)
f) 修改zhangshengrui的Math成绩,改为95。给出截图。
g) 删除zhangshengrui的信息。给出截图。
(2)假设HBase中存放了如下信息,表的逻辑视图及部分数据如下所示:
| 书名(bookName) | 价格(price) |
|---|---|
| Database System Concept | 30$ |
| Thinking in Java | 60$ |
| Data Mining | 25$ |
要求:将图书信息按照“price”排序,并将结果存储到HBase中。
四、出现的问题及解决方案
做实验报告的时候遇到的问题
1、一直显示拒绝连接,无法跳转路径
解决方法是自己忘了启动。./sbin/start-hadf.sh
2、 删除文件的时候提示没有文件
解决方法 在创建文件的时候把路径写错误input与user在同一个路径下,然后在删除时跳到一开始的路径下才删除的
3、输入“sudo service mongodb start”启动 mongodb 的时候,如果报这个错误:Failed to start mongod.service: Unit not found,安装教程配置了 mongodb.service,但是还是不成功 后来重新启动电脑 然后运行sudo systemctl start mongodb 成功。
4、在运行mongodb的语句时经常性的把:打成为=
总体来说本次实验让我受益颇多。
❤️后语❤️
厂长写博客目的初衷很简单,希望大家在学习的过程中少走弯路,多学一些东西,对自己有帮助的留下你的赞赞👍或者关注➕都是对我最大的支持,你的关注和点赞给厂长每天更文的动力。
对文章其中一部分不理解,都可以评论区回复我,我们来一起讨论,共同学习,一起进步!