分布式数据库HBase PPT课件单元7 MapReduce On HBase.pptx
单元7MapReduceOnHBase
17.2HBase集成MapReduce实操目录7.1HBaseMapReduce2
7.1HBaseMapReduceHBase数据是分布式存储在RegionServer上的,对于整体数据统计和分析,仅仅使用HBase过滤器是远远没办法满足实际场景的。这个时候MapReduce就发挥了重要作用。MapReduce是一种用于处理大规模数据集的编程模型和算法。MapReduce主要由四个部分组成,分别是Client、JobTracker、TaskTracker以及Task
7.1HBaseMapReduce从MapReduce应用场景来看,MapReduce是从分布式文件获取输入,然后输出到另一个文件,但是对于HBase分布式数据库来说,场景则是从表到文件、从文件到表、从表到表等多种应用场景,传统的MapReduce没办法满足这种需求,这个情况下,HBase的MapReduce就应运而生
7.2HBase集成MapReduce实操7.2.1HBase集成MapReduce步骤1:查看集成MapReduce需要的命令。/usr/local/hbase-2.4.6/bin/hbase
7.2HBase集成MapReduce实操7.2.1HBase集成MapReduce步骤2:设置环境变量,具体的设置内容如下所示。[root@masterhbase-2.4.6]#cd/usr/local/hbase-2.4.6[root@masterhbase-2.4.6]#exportHBASE_HOME=/usr/local/hbase-2.4.6[root@masterhbase-2.4.6]#exportHAD0OP_HOME=/usr/local/hadoop/[root@masterhbase-2.4.6]#HADOOP_CLASSPATH=${HBASE_HOME}/bin/hbasemapredcp
7.2HBase集成MapReduce实操7.2.1HBase集成MapReduce步骤3:启动history服务,启动HDFS和yarn等任务,如下所示。[root@masterhbase-2.4.6]#mapred--daemonstarthistoryserver步骤4:启动hbase任务,如下所示。[root@masterhbase-2.4.6]#./start-all.sh步骤5:导入相应的jar包,如下所示。[root@masterhbase-2.4.6]#hdfsdfs-puthbase-client-1.1.5.jar/hbase/lib[root@masterhbase-2.4.6]#hdfsdfs-puthbase-hadoop-compat-1.1.5.jar/hbase/lib[root@masterhbase-2.4.6]#hdfsdfs-puthbase-server-1.1.5.jar/hbase/lib
7.2HBase集成MapReduce实操7.2.1HBase集成MapReduce步骤6:查看HBase自带的MapReduce的RowCounter计算fruit表的行数。这里采用fruit表,其中表中内容如图7-4所示。hbase:001:0scanfruit通过比较hbaseshell和MapReduce计算结果,两者计算结果一致。MapReduce的RowCounter计算fruit表的行数代码如下:$HBASE_HOME/bin/hbaseorg.apache.hadoop.hbase.mapreduce.RowCounterfruit
7.2HBase集成MapReduce实操7.2.1HBase集成MapReduce步骤7:Export也是MapReduce中的自带用法,这里通过Export导出HBbase表到HDFS文件中。测试Export将fruit表导出到HDFS中/hbase/fruit,代码如下。$HBASE_HOME/bin/hbaseorg.apache.hadoop.hbase.mapreduce.Exportfruit/hbase/fruit执行完成后在HDFS查看导出的文件,执行代码如下。hdfsdfs-ls/hbase/fruit
7.2HBase集成MapReduce实操7.2.1HBase集成MapReduce步骤8:Import的用法和Export类似,实现HDFS文件导入到HBase表,测试Import将HDFS中/hbase/fruit导入HBase表,具