26个数据分析案例——第一站:基于Python的HBase冠字号查询系统
实验所需环境
• Python: Python 3.x;
• Hadoop 2.7.7环境;
• HBase 1.3.5;
数据说明
该数据集是冠字号存储记录,用于记录当前人民币的状态,当冠字号处于存储状态时,表示人民币存在银行,反之则表示不存在银行。数据集包含5个字段,其含义如下:
• 第一列:冠字号。
• 第二列:冠字号是否存在,0表示不存在,1表示存在。
• 第三列:存储或取出时间。
• 第四列:所在银行编号。
• 第五列:用户id。
资料包
链接:https://pan.baidu.com/s/1e2US27bpCY2GkJwIhXujXg
提取码:o7h8
实验步骤
第一步:准备数据
1、打开命令窗口,进入Hadoop安装目录的sbin目录,启动Hadoop相关服务,命令如下所示。
[root@master ~]# cd /usr/local/hadoop/sbin/
[root@master sbin]# ./start-all.sh
[root@master sbin]# jps
运行结果为:
2、切换到HBase安装目录的bin目录,启动HBase服务,命令如下所示。
[root@master sbin]# cd /usr/local/hbase/bin/
[root@master bin]# ./start-hbase.sh
[root@master bin]# jps
运行结果为:
3、启动HBase的Thrift接口服务器,命令如下所示。
[root@master bin]# ./hbase-daemon.sh start thrift
[root@master bin]# jps
运行结果为:
4、启动HBase Shell,命令如下所示。
[root@master bin]# ./hbase shell
运行结果为:
5、通过create命令进行数据库表的创建,并通过list命令进行验证,命令如下所示。
hbase(main):001:0> create 'CrownSize','info'
hbase(main):002:0> list
运行结果为:
6、打开另一命令窗口,进入Hadoop安装目录的bin目录,将冠字号存储记录数据文件(该文件请自行存放到usr/local/data目录下)上传到HDFS的根目录下并查看根目录内容进行上传验证,命令如下所示。
[root@master ~]# cd /usr/local/hadoop/bin/
[root@master bin]# ./hadoop fs -put /usr/local/data/in_out_details.txt /
[root@master bin]# ./hadoop fs -ls /
运行结果为:
7、切换目录为HBase安装目录的bin目录,通过org.apache.hadoop.hbase.mapreduce.ImportTsv方法将其导入到CrownSize数据库表中,命令如下所示。
[root@master bin]# cd /usr/local/hbase/bin/
[root@master bin]# ./hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.separator="," -Dimporttsv.columns=HBASE_ROW_KEY,info:exist,info:time,info:bank,info:uid CrownSize /in_out_details.txt
运行结果为:
8、切换到HBase Shell命令窗口,通过scan命令查看数据库表CrownSize的前三行数据,验证数据是否导入成功,命令如下所示。