《OD大数据实战》HBase整合MapReduce和Hive
2016-08-19 16:41
197 查看
一、HBase整合MapReduce环境搭建
1. 搭建步骤
1)在etc/hadoop目录中创建hbase-site.xml的软连接。在真正的集群环境中的时候,hadoop运行mapreduce会通过该文件查找具体的hbase环境信息。
2)将hbase需要的jar包添加到hadoop运行环境中,其中hbase需要的jar就是lib文件夹下面的所有*.jar文件。
在hadoop中添加其他第三方的jar有多种方式,比如添加hbase的jar到hadoop环境中。这里介绍三种:
(1)第一种:在hadoop-env.sh中添加HADOOP_CLASSPATH环境变量,value为hbase的lib文件夹下的所有jar文件。
(2)第二种:在系统级或者用户级修改*profile文件内容,在文件中添加HADOOP_CLASSPATH。
(3)第三种:直接将hbase的lib文件夹中所有jar文件复制到hadoop的share/hadoop/common/lib 或者share/hadoop/mapreduce等文件夹中。
3)使用hbase自带的server jar测试是否安装成功。
直接使用hbase自带的命名进行环境的测试,命令为:
hadoop jar $HBASE_HOME/lib/hbase-server-0.98.6-cdh5.3.6.jar rowcounter hbasetablename
运行该命名可以查看到我们指定table的行数。
二、案例:统计产品信息
编写自定义的MR程序读取hbase的数据或者往hbase中写数据注意点:
1. 如果是从hbase中读取数据,那么要求mapper实现TableMapper抽象类。如果是往hbase中写数据,而且是有reducer的情况下,要求reducer实现TableReducer抽象类。
2. 使用TableMapperReducerUtil类来进行job创建初始化操作。如果是往hbase中写数据,而且reducer是可以省略的话,那么我们也可以不指定reducer的具体类,直接使用指定null,比设置job的reducer的task个数为0.
3. 如果是在window环境中运行job(任务代码的执行时在window上),那么需要将参数addDependency设置为false,或者将fs.defaultFS设置为file:///。如果是在集群中运行job,那么必须将addDependency设置为true,并且fs.defaultFS设置为hdfs://xxx
4. 代码参考:
三、HBase整合Hive环境搭建
1. 搭建步骤
1)在etc/hadoop目录中创建hbase-site.xml的软连接。在真正的集群环境中的时候,hadoop运行mapreduce会通过该文件查找具体的hbase环境信息。
ln -s /opt/modules/cdh/hbase-0.98.6-cdh5.3.6/conf/hbase-site.xml /opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/etc/hadoop/hbase-site.xml
2)将hbase需要的jar包添加到hadoop运行环境中,其中hbase需要的jar就是lib文件夹下面的所有*.jar文件。
在hadoop中添加其他第三方的jar有多种方式,比如添加hbase的jar到hadoop环境中。这里介绍三种:
(1)第一种:在hadoop-env.sh中添加HADOOP_CLASSPATH环境变量,value为hbase的lib文件夹下的所有jar文件。
(2)第二种:在系统级或者用户级修改*profile文件内容,在文件中添加HADOOP_CLASSPATH。
(3)第三种:直接将hbase的lib文件夹中所有jar文件复制到hadoop的share/hadoop/common/lib 或者share/hadoop/mapreduce等文件夹中。
3)使用hbase自带的server jar测试是否安装成功。
直接使用hbase自带的命名进行环境的测试,命令为:
hadoop jar $HBASE_HOME/lib/hbase-server-0.98.6-cdh5.3.6.jar rowcounter hbasetablename
运行该命名可以查看到我们指定table的行数。
二、案例:统计产品信息
编写自定义的MR程序读取hbase的数据或者往hbase中写数据注意点:
1. 如果是从hbase中读取数据,那么要求mapper实现TableMapper抽象类。如果是往hbase中写数据,而且是有reducer的情况下,要求reducer实现TableReducer抽象类。
2. 使用TableMapperReducerUtil类来进行job创建初始化操作。如果是往hbase中写数据,而且reducer是可以省略的话,那么我们也可以不指定reducer的具体类,直接使用指定null,比设置job的reducer的task个数为0.
3. 如果是在window环境中运行job(任务代码的执行时在window上),那么需要将参数addDependency设置为false,或者将fs.defaultFS设置为file:///。如果是在集群中运行job,那么必须将addDependency设置为true,并且fs.defaultFS设置为hdfs://xxx
4. 代码参考:
三、HBase整合Hive环境搭建
相关文章推荐
- HBase与MapReduce整合/HBase和Hive整合 nosql/HBase与 Sqoop整合
- hive和Hbase整合
- hive与hbase整合
- 转:HDFS+MapReduce+Hive+HBase十分钟快速入门(一)
- 王家林最受欢迎的一站式云计算大数据和移动互联网解决方案课程 V1(20140809)之Hadoop企业级完整训练:Rocky的16堂课(HDFS&MapReduce&HBase&Hive&Zookee
- Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解
- HDFS+MapReduce+Hive+HBase十分钟快速入门(转)
- MapReduce从HBase多路径导出数据到Hive
- 大数据学习系列之五 ----- Hive整合HBase图文详解
- Hive HBase 整合
- Hive整合HBase——通过Hive读/写 HBase中的表
- Hadoop(四)Hive整合HBase及JDBC方式操作Hive
- Hive与Hbase关系整合
- hive和hbase整合知识总结
- Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解
- Hive整合HBase——通过Hive读/写 HBase中的表
- Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解
- Spark整合HBase,Hive
- Hive篇---Hive与Hbase整合
- 大数据Hadoop核心架构HDFS+MapReduce+Hbase+Hive内部机理详解