MR和HBase集成

一、MR和HBase集成

1.Hbase可以做简单的查询,但是无法对查询的结果进行深加工!
可以使用MR来进行hbase中数据的深加工!

2. MR必须持有可以读取HBase中数据的api才可以!
在MR启动时,在MR程序的类路径下,把读取hbase的jar包加入进去!

①使用MR读取hbase,需要哪些jar包?
通过执行hbase mapredcp查看
②如何让MR在运行时,提前讲这些jar包加入到MR的环境中?
hadoop jar MRjar包 主类名 参数

hadoop命令一执行,先去读取hadoop-config.sh(hadoop环境的配置脚本,用来配置环境变量)
,hadoop-config.sh读取hadoop-env.sh(建议将hadoop运行的变量配置在此脚本中)

在hadoop-env.sh 44行后,添加:
export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/opt/module/hbase/lib/*

3. 测试官方案例
①hadoop jar hbase-server-1.3.1.jar CellCounter t1 /hbasemr/cellcount ,
②hadoop jar hbase-server-1.3.1.jar rowcounter t1
③向hbase中导入数据,需要手动建表,需要把数据上传到HDFS,注意数据中字段的顺序要和
-Dimporttsv.columns的顺序一致
hadoop jar hbase-server-1.3.1.jar importtsv
-Dimporttsv.columns=HBASE_ROW_KEY,info:name,info:age,info:gender t2 /hbaseimport

HBASE_ROW_KEY: 代表rowkey列

在示例程序中添加参数,在core-site.xml中添加!

posted @ 2020-10-17 09:52  程序那点事  阅读(318)  评论(0编辑  收藏  举报