网站开发需要学什么技能,施工企业账务处理,店面门头在线设计网站,深圳百度竞价托管公司大数据课本#xff1a; HBase常用Shell命令
在使用具体的Shell命令操作HBase数据之前#xff0c;需要首先启动Hadoop#xff0c;然后再启动HBase#xff0c;并且启动HBase Shell#xff0c;进入Shell命令提示符状态#xff0c;具体命令如下#xff1a; $ cd /usr/local… 大数据课本 HBase常用Shell命令
在使用具体的Shell命令操作HBase数据之前需要首先启动Hadoop然后再启动HBase并且启动HBase Shell进入Shell命令提示符状态具体命令如下 $ cd /usr/local/hadoop
$ ./sbin/start-dfs.sh
$ cd /usr/local/hbase
$ ./bin/start-hbase.sh
$ ./bin/hbase shell 1 在HBase中创建表
假设这里要创建一个表student该表包含Sname、Ssex、Sage、Sdept、course等字段。需要注意的是在关系型数据库比如MySQL中需要首先创建数据库然后再创建表但是在HBase数据库中不需要创建数据库只要直接创建表就可以。在HBase中创建student表的Shell命令如下 hbase create student,Sname,Ssex,Sage,Sdept,course 对于HBase而言在创建HBasae表时不需要自行创建行健系统会默认一个属性作为行键通常是把put命令操作中跟在表名后的第一个数据作为行健。
创建完student表后可通过describe命令查看student表的基本信息命令如下 hbasedescribe student 可以使用list命令查看当前HBase数据库中已经创建了哪些表命令如下 hbase list 2 添加数据
HBase使用put命令添加数据一次只能为一个表的一行数据的一个列也就是一个单元格单元格是HBase中的概念添加一个数据所以直接用Shell命令插入数据效率很低在实际应用中一般都是利用编程操作数据。因为这里只要插入1条学生记录所以我们可以用Shell命令手工插入数据命令如下 hbase put student,95001,Sname,LiYing 上面的put命令会为student表添加学号为95001、名字为LiYing的一个单元格数据其行键为95001也就是说系统默认把跟在表名student后面的第一个数据作为行健。
下面继续添加4个单元格的数据用来记录LiYing同学的相关信息命令如下 hbase put student,95001,Ssex,male
hbase put student,95001,Sage,22
hbase put student,95001,Sdept,CS
hbase put student,95001,course:math,80 3 查看数据
HBase中有两个用于查看数据的命令 get命令用于查看表的某一个单元格数据 scan命令用于查看某个表的全部数据。
比如可以使用如下命令返回student表中95001行的数据 hbase get student,95001 下面使用scan命令查询student表的全部数据 hbase scan student 4 删除数据
在HBase中用delete以及deleteall命令进行删除数据操作二者的区别是delete命令用于删除一个单元格数据是put的反向操作而 deleteall命令用于删除一行数据。
首先使用delete命令删除student表中95001这行中的Ssex列的所有数据命令如下 hbase delete student,95001,Ssex 然后使用deleteall命令删除student表中的95001行的全部数据命令如下 hbase deleteall student,95001 5 删除表
删除表需要分两步操作第一步先让该表不可用第二步删除表。比如要删除student表可以使用如下命令 hbase disable student
hbase drop student 6 查询历史数据
在添加数据时HBase会自动为添加的数据添加一个时间戳。在修改数据时HBase会为修改后的数据生成一个新的版本时间戳从而完成“改”操作旧的版本依旧保留系统会定时回收垃圾数据只留下最新的几个版本保存的版本数可以在创建表的时候指定。
为了查询历史数据这里创建一个teacher表首先在创建表的时候需要指定保存的版本数假设指定为5命令如下 hbase create teacher,{NAMEusername,VERSIONS5} 然后插入数据并更新数据使其产生历史版本数据需要注意的是这里插入数据和更新数据都是使用put命令具体如下 hbase put teacher,91001,username,Mary
hbase put teacher,91001,username,Mary1
hbase put teacher,91001,username,Mary2
hbase put teacher,91001,username,Mary3
hbase put teacher,91001,username,Mary4
hbase put teacher,91001,username,Mary5 查询时默认情况下回显示当前最新版本的数据如果要查询历史数据需要指定查询的历史版本数由于上面设置了保存版本数为5所以在查询时制定的历史版本数的有效取值为1到5具体命令如下 hbase get teacher,91001,{COLUMNusername,VERSIONS5}
hbase get teacher,91001,{COLUMNusername,VERSIONS3} 7 退出HBase数据库
最后退出数据库操作输入exit命令即可退出命令如下 hbase exit 注意这里退出HBase数据库是退出HBase Shell而不是停止HBase数据库后台运行执行exit后HBase仍然在后台运行如果要停止HBase运行需要使用如下命令 $ bin/stop-hbase.sh作业使用Shell命令完成以下内容。每道题目不仅要给出命令还要有运行结果截图
创建《王者荣耀》游戏玩家信息表gamer,包含列族personalInfo(个人信息)、recordInfo战绩信息、assetsInfo资产信息。 create gamer, personalInfo, recordInfo, assetsInfo 查看表的详细信息 describe gamer 修改gamer表中recordInfo列族的TTL信息设置为180天。 alter gamer,{NAMErecordInfo,TTL15552000} 向gamer表添加数据 personalInfo recordInfo assetInfo nickname gameID ranking integral row-001 QGhappy.Snow 000000 One 10000 row-002 XQMaster 111111 Two 20000 put gamer,row-001,personalInfo:nickname,QGhappy.Snow put gamer,row-001,recordInfo:ranking,one putgamer,row-001,assetsInfo:integral,10000 put gamer,row-001,personalInfo:gameId,000000 put gamer,row-002,personalInfo:nickname,XQMaster put gamer,row-002,recordInfo:ranking,two put gamer,row-002,assetsInfo:integral,20000 put gamer,row-002,personalInfo:gameId,111111 查询gamer表中所有数据 scan gamer 查找gamer表中行键为row-001的所有单元 get gamer, row-001 查找gamer表中行键为row-001列键为personalInfo:nickname的单元 get gamer, row-001, {COLUMN personalInfo:nickname} 查找gamer表中行键为row-001列族为personalInfo的单元 get gamer, row-001, {COLUMN personalInfo} 删除gamer表中行键为row-001列键为personalInfo:nickname的单元数据 delete gamer, row-001, personalInfo:nickname 删除gamer表中行键为row-001的一行数据 deleteall gamer, row-001 删除gamer表中所有数据。 truncate gamer 删除gamer表 disable gamer drop gamer