《OD大数据实战》HBase整合MapReduce和Hive
一、HBase整合MapReduce环境搭建
1. 搭建步骤
1)在etc/hadoop目录中创建hbase-site.xml的软连接。在真正的集群环境中的时候,hadoop运行mapreduce会通过该文件查找具体的hbase环境信息。
ln -s /opt/modules/cdh/hbase-0.98.-cdh5.3.6/conf/hbase-site.xml /opt/modules/cdh/hadoop-2.5.-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环境搭建
《OD大数据实战》HBase整合MapReduce和Hive的更多相关文章
- 《OD大数据实战》驴妈妈旅游网大型离线数据电商分析平台
一.环境搭建 1. <OD大数据实战>Hadoop伪分布式环境搭建 2. <OD大数据实战>Hive环境搭建 3. <OD大数据实战>Sqoop入门实例 4. &l ...
- 《OD大数据实战》HDFS入门实例
一.环境搭建 1. 下载安装配置 <OD大数据实战>Hadoop伪分布式环境搭建 2. Hadoop配置信息 1)${HADOOP_HOME}/libexec:存储hadoop的默认环境 ...
- 《OD大数据实战》Hive环境搭建
一.搭建hadoop环境 <OD大数据实战>hadoop伪分布式环境搭建 二.Hive环境搭建 1. 准备安装文件 下载地址: http://archive.cloudera.com/cd ...
- 《OD大数据实战》MapReduce实战
一.github使用手册 1. 我也用github(2)——关联本地工程到github 2. Git错误non-fast-forward后的冲突解决 3. Git中从远程的分支获取最新的版本到本地 4 ...
- 《OD大数据实战》Hive入门实例
官方参考文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual 一.命令行和客户端 1. 命令窗口 1)进入命令窗口 hi ...
- 《OD大数据实战》环境整理
一.关机后服务重新启动 1. 启动hadoop服务 sbin/hadoop-daemon.sh start namenode sbin/hadoop-daemon.sh start datanode ...
- 《OD大数据实战》HBase入门实战
官方参考文档:http://abloz.com/hbase/book.html#shell_tricks 1.2.3. Shell 练习 用shell连接你的HBase $ ./bin/hbase s ...
- 《OD大数据实战》HBase环境搭建
一.环境搭建 1. 下载 hbase-0.98.6-cdh5.3.6.tar.gz 2. 解压 tar -zxvf hbase-0.98.6-cdh5.3.6.tar.gz -C /opt/modul ...
- 《OD大数据实战》Sqoop入门实例
官网地址: http://archive.cloudera.com/cdh5/cdh/5/sqoop-1.4.5-cdh5.3.6/SqoopUserGuide.html 一.环境搭建 1. 下载 s ...
随机推荐
- [工作积累] bitfield
ISO/IEC 14882:2003: 9.6 Bit-fields [class.bit] A member-declarator of the form identifieropt : const ...
- WPF编程学习——布局
本文目录 1.布局简介 2.面板(Panel) 3.视图框(Viewbox) 4.滚动视图控件(ScrollViewer) 5.公共布局属性 1.布局简介 应用程序界面设计中,合理的元素布局至关重要, ...
- maven mirror repository
简单点来说,repository就是个仓库.maven里有两种仓库,本地仓库和远程仓库.远程仓库相当于公共的仓库,大家都能看到.本地仓库是你本地的一个山寨版,只有你看的到,主要起缓存作用.当你向仓库请 ...
- Sqli-labs less 48
Less-48 本关与less-46的区别在于报错注入不能使用,不进行错误回显,因此其他的方法我们依旧是可以使用的. 可以利用sort=rand(true/false)进行判断. http://127 ...
- POJ 3253 Fence Repair(优先队列,哈夫曼树,模拟)
题目 //做哈夫曼树时,可以用优先队列(误?) //这道题教我们优先队列的一个用法:取前n个数(最大的或者最小的) //哈夫曼树 //64位 //超时->优先队列,,,, //这道题的优先队列用 ...
- HDU 2709 Sumsets(递推)
Sumsets http://acm.hdu.edu.cn/showproblem.php?pid=2709 Problem Description Farmer John commanded his ...
- Linux下进程通信的八种方法
Linux下进程通信的八种方法:管道(pipe),命名管道(FIFO),内存映射(mapped memeory),消息队列(message queue),共享内存(shared memory),信号量 ...
- C#两种创建快捷方式的方法
C#两种创建快捷方式的方法http://www.cnblogs.com/linmilove/archive/2009/06/10/1500989.html
- OpenGL程序运行提示glut32.dll丢失问题
转: http://blog.csdn.net/liufeng520/article/details/8064170 今天调试OpenGl的源程序,编译通过,但一运行就提示,计算机丢失 glut32. ...
- JAVA类型信息——Class对象
JAVA类型信息——Class对象 一.RTTI概要 1.类型信息RTTI :即对象和类的信息,例如类的名字.继承的基类.实现的接口等. 2.类型信息的作用:程序员可以在程序运行时发现和使用类型信息. ...