hadoop 1.1.2和 hive 0.10 和hbase 0.94.9整合
时间:2022-04-29
本文章向大家介绍hadoop 1.1.2和 hive 0.10 和hbase 0.94.9整合,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
今天弄了一下hive0.10和hbase0.94.9整合,需要设置的并不多,但是也遇到了一些问题。
1.复制jar包
拷贝hbase-0.94.9.jar,zookeeper-3.4.5.jar,protobuf-java-2.4.0a.jar到hive/lib下,删掉lib下面旧版的jar包。
拷贝hbase-0.94.9.jar到所有hadoop节点的lib文件夹下面,拷贝hbase/confi的hbase-site.xml文件拷贝到所有的hadoop节点conf文件夹下。
2.修改hive-site.xml配置文件,添加以下内容
<property>
<name>hive.querylog.location</name>
<value>/usr/hive/logs</value>
</property>
<property>
<name>hive.aux.jars.path</name>
<value>file:///usr/hive/lib/hive-hbase-handler-0.10.0.jar,file:///usr/hive/lib/hbase-0.94.9.jar,file:///usr/hive/lib/zookeeper-3.4.5.jar,file:///usr/hive/lib/protobuf-java-2.4.0a.jar</value>
</property>
3.启动hive,hive -hiveconf hbase.zookeeper.quorum=node1,node2,node3
实际上只需要填一个即可,我只填了一个。
4.开始测试,建一个表试验。
CREATE TABLE hbase_table1(key int, value1 string, value2 int, value3 int)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES (
"hbase.columns.mapping" = ":key,cf1:value1,cf1:value2,cf2:value3"
)TBLPROPERTIES("hbase.table.name" = "table1");
TBLPROPERTIES参数是可选的,如果不写的话,就默认是hive和hbase中的表名称一致
5.打开hbase看看,使用describe “table1”来查询一下,发一个我真实建立的表吧。
hbase(main):001:0> describe "wdp"
DESCRIPTION ENABLED
'wdp', {NAME => 'cf', DATA_BLOCK_ENCODING => 'NONE' true
, BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0',
VERSIONS => '3', COMPRESSION => 'NONE', MIN_VERSION
S => '0', TTL => '2147483647', KEEP_DELETED_CELLS =
> 'false', BLOCKSIZE => '65536', IN_MEMORY => 'fals
e', ENCODE_ON_DISK => 'true', BLOCKCACHE => 'true'}
1 row(s) in 1.1980 seconds
hbase(main):002:0>
好了,就这样啦,我还没插入数据测试呢,就先这样吧。
最后发一个它官方的文档地址,想了解更多的到这个网站上面看看
https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration
- android 开发Handler源码剖析
- Keras作为TensorFlow的简化界面:教程
- Android基础:Fragment,看这篇就够了
- Rest api简介
- crossdomain.xml文件配置不当利用手法
- Android 常用的ORM框架详解
- 测试全球最安全的手机Blackphone
- 国产SSL防火墙 – sslfw
- Android 之dragger使用
- Android图像处理 - 高斯模糊的原理及实现
- 走进科学:银行ATM机真的安全吗?
- 漏洞科普:对于XSS和CSRF你究竟了解多少
- 巧用Live Template,不仅能提升AS开发效率,还能装逼
- 黑了前男友网站:从找SQL注入到后台权限
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Charles报错Failed to install helper解决方案
- [890]scrapy之pipeline的使用
- Redis的slot迁移工具
- 一文搞懂Flink rocksdb中的数据恢复
- Linux expect用法介绍
- GitHub通过access token来clone代码
- 在.NET Core中使用MongoDB明细教程(1):驱动基础及文档插入
- 探索闭包
- openresty实现接口签名安全认证
- JavaScript空值合并运算符
- ROS1&2极简版安装配置案例(Noetic&Foxy@Ubuntu20.04)
- Java调用微信扫一扫
- 响应式布局新方案:融合响应式设计,开源 React 组件
- C++核心准则E.26:如果无法抛出异常,尽快进行失败处理
- 学习|C#的EventHandler的委托使用