- 浏览: 2146714 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (682)
- 软件思想 (7)
- Lucene(修真篇) (17)
- Lucene(仙界篇) (20)
- Lucene(神界篇) (11)
- Solr (48)
- Hadoop (77)
- Spark (38)
- Hbase (26)
- Hive (19)
- Pig (25)
- ELK (64)
- Zookeeper (12)
- JAVA (119)
- Linux (59)
- 多线程 (8)
- Nutch (5)
- JAVA EE (21)
- Oracle (7)
- Python (32)
- Xml (5)
- Gson (1)
- Cygwin (1)
- JavaScript (4)
- MySQL (9)
- Lucene/Solr(转) (5)
- 缓存 (2)
- Github/Git (1)
- 开源爬虫 (1)
- Hadoop运维 (7)
- shell命令 (9)
- 生活感悟 (42)
- shell编程 (23)
- Scala (11)
- MongoDB (3)
- docker (2)
- Nodejs (3)
- Neo4j (5)
- storm (3)
- opencv (1)
最新评论
-
qindongliang1922:
粟谷_sugu 写道不太理解“分词字段存储docvalue是没 ...
浅谈Lucene中的DocValues -
粟谷_sugu:
不太理解“分词字段存储docvalue是没有意义的”,这句话, ...
浅谈Lucene中的DocValues -
yin_bp:
高性能elasticsearch ORM开发库使用文档http ...
为什么说Elasticsearch搜索是近实时的? -
hackWang:
请问博主,有用solr做电商的搜索项目?
Solr中Group和Facet的用法 -
章司nana:
遇到的问题同楼上 为什么会返回null
Lucene4.3开发之第八步之渡劫初期(八)
本篇,散仙主要讲的是使用Hive如何和Hbase集成,Hbase和Hive的底层存储都在HDFS上,都是hadoop生态系统中的重要一员,所以他们之间有着很亲密的联系,可以相互转换与操作。
hadoop,hbase和hive的搭建就不重复说了,不会的朋友,可以看散仙前面的博客,下面直接进入重点,关于hive集成hbase这一块,网上资料不算多,有的版本比较旧,散仙这里使用的版本是hive0.12和hbase0.96.2。
hive集成hbase的方式其实很简单,就是把Hbase的几个jar包,拷贝到hive的lib目录下即可截图如下:
上面的几个包放进Hive的lib中之后,我们需要配置在hive-site.xml里面配置下Hbase的zk地址,便于Hive连接Hbase使用,添加配置如下:
下面可以进行测试,我们直接把Hbase里的一张表,转成我们的Hive表,Hive启动前,首先要把Hadoop和Hbase启动起来,然后启动Hive,启动完进程如下所示:
先在hbase里建一张表,并添加列簇,和列数据如下:
在Hive里,执行如下语句,进行关联建表:
如果不报错,就证明,集成成功,如果出现错误,一般都是hbase的某个jar包缺少造成,我们根据提示添加到hive的lib里即可,然后重启hive的的shell客户端。
建表成功后,查询如下:
至此,我们的Hive集成Hbase就成功了,关联成功后,我们就可以对数据进行分析了,需要注意的是,我们关联过的hbase表,如果在Hbase里面删除了这个表,那么在Hive里面再次查询,就会报错,如果删除了Hive里面的表,则对Hbase没有影响。另外一点需要注意的是,使用Hive关联Hbase的建的表,是一个内部表,所以需要在Create 后面加上 external关键字 。
参考资料:https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration
hadoop,hbase和hive的搭建就不重复说了,不会的朋友,可以看散仙前面的博客,下面直接进入重点,关于hive集成hbase这一块,网上资料不算多,有的版本比较旧,散仙这里使用的版本是hive0.12和hbase0.96.2。
hive集成hbase的方式其实很简单,就是把Hbase的几个jar包,拷贝到hive的lib目录下即可截图如下:
上面的几个包放进Hive的lib中之后,我们需要配置在hive-site.xml里面配置下Hbase的zk地址,便于Hive连接Hbase使用,添加配置如下:
<property> <name>hbase.zookeeper.quorum</name> <value>h1,h2,h3</value> </property>
下面可以进行测试,我们直接把Hbase里的一张表,转成我们的Hive表,Hive启动前,首先要把Hadoop和Hbase启动起来,然后启动Hive,启动完进程如下所示:
[search@h1 ~]$ jps 7950 RunJar 6559 DataNode 7691 HRegionServer 6879 ResourceManager 7563 HMaster 6985 NodeManager 7474 HQuorumPeer 6731 SecondaryNameNode 6458 NameNode 8120 Jps [search@h1 ~]$
先在hbase里建一张表,并添加列簇,和列数据如下:
hbase(main):001:0> list TABLE SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/home/search/hbase-0.96.2-hadoop2/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/home/search/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. mytest webpage 2 row(s) in 3.0870 seconds => ["mytest", "webpage"] hbase(main):002:0> scan 'mytest' ROW COLUMN+CELL 2207 column=item:name, timestamp=1407329588864, value=hadoop 23008 column=home:address, timestamp=1407329589330, value=shenzhen 2309 column=info:age, timestamp=1407329589497, value=899 24008 column=home:address, timestamp=1407329588587, value=guangzhou 2407 column=item:name, timestamp=1407329588447, value=big data 2409 column=info:age, timestamp=1407329588728, value=22.32 3109 column=info:age, timestamp=1407329588308, value=7.4 321008 column=home:address, timestamp=1407329588169, value=luoyang 33107 column=item:name, timestamp=1407329588028, value=x-code 4205 column=home:address, timestamp=1407329587701, value=beijing 44101 column=info:age, timestamp=1407329587883, value=18.5 444105 column=item:name, timestamp=1407329587555, value=a dog 12 row(s) in 0.0980 seconds
在Hive里,执行如下语句,进行关联建表:
hive> CREATE EXTERNAL TABLE hbaseive(key int, name string,address string,age double) > STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' > WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,item:name,home:address,info:age") > TBLPROPERTIES ("hbase.table.name" = "mytest");
如果不报错,就证明,集成成功,如果出现错误,一般都是hbase的某个jar包缺少造成,我们根据提示添加到hive的lib里即可,然后重启hive的的shell客户端。
建表成功后,查询如下:
hive> select * from hbaseive; OK 2207 hadoop NULL NULL 23008 NULL shenzhen NULL 2309 NULL NULL 899.0 24008 NULL guangzhou NULL 2407 big data NULL NULL 2409 NULL NULL 22.32 3109 NULL NULL 7.4 321008 NULL luoyang NULL 33107 x-code NULL NULL 4205 NULL beijing NULL 44101 NULL NULL 18.5 444105 a dog NULL NULL Time taken: 0.481 seconds, Fetched: 12 row(s) hive>
至此,我们的Hive集成Hbase就成功了,关联成功后,我们就可以对数据进行分析了,需要注意的是,我们关联过的hbase表,如果在Hbase里面删除了这个表,那么在Hive里面再次查询,就会报错,如果删除了Hive里面的表,则对Hbase没有影响。另外一点需要注意的是,使用Hive关联Hbase的建的表,是一个内部表,所以需要在Create 后面加上 external关键字 。
参考资料:https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration
发表评论
-
Apache Flink在阿里的使用(译)
2019-02-21 21:18 1055Flink是未来大数据实时 ... -
计算机图形处理的一些知识
2018-04-25 17:46 1187最近在搞opencv来做一些 ... -
关于Hbase多版本存储的一个注意点
2018-04-19 11:39 1600我们知道hbase是一个多版本的管理系统,在0.96的版本之前 ... -
如何在kylin中构建一个cube
2017-07-11 19:06 1205前面的文章介绍了Apache Kylin的安装及数据仓 ... -
理解数据仓库中星型模型和雪花模型
2017-07-06 17:29 4270在数据仓库的建设中, ... -
Spark如何读取Hbase特定查询的数据
2017-06-29 21:42 4410最近工作需要使用到Spark操作Hbase,上篇文章已经写 ... -
Apache Kylin的入门安装
2017-06-27 21:27 2110Apache Kylin™是一个开源的分布式分析引擎,提供 ... -
如何使用scala+spark读写hbase?
2017-06-12 19:48 3406最近工作有点忙,所以文章更新频率低了点,希望大家可以谅解,好 ... -
ES-Hadoop插件介绍
2017-04-27 18:07 1945上篇文章,写了使用spark集成es框架,并向es写入数据,虽 ... -
如何在Scala中读取Hadoop集群上的gz压缩文件
2017-04-05 18:51 2086存在Hadoop集群上的文件,大部分都会经过压缩,如果是压缩 ... -
如何收集项目日志统一发送到kafka中?
2017-02-07 19:07 2745上一篇(http://qindongliang.iteye. ... -
spark sql on hive笔记一
2016-12-09 20:42 2222Spark sql on Hive非常方便,通过共享读取hiv ... -
Hive2.1.0集成Tez
2016-11-21 19:39 1290#### Tez是什么? Tez是Hontonworks ... -
Apache Hive2.1.0安装笔记
2016-11-16 18:51 1150Hive2.x已经足够稳定了,前面也安装过hive0.x和H ... -
Hue+Hive临时目录权限不够解决方案
2016-06-14 10:40 4635安装Hue后,可能会分配多个账户给一些业务部门操作hive,虽 ... -
hive自定义udf实现md5功能
2016-05-25 11:54 4982Hive自定义UDF实现md5算法 Hive发展至今,自身已 ... -
开源大数据索引项目hive-solr
2016-05-06 16:15 1898github地址:https://github.com/qi ... -
Hadoop的8088页面失效问题
2016-03-31 11:21 4373前两天重启了测试的hadoop集群,今天访问集群的8088任 ... -
Hadoop+Hbase集群数据迁移问题
2016-03-23 21:00 2474数据迁移或备份是任何 ... -
如何监控你的Hadoop+Hbase集群?
2016-03-21 16:10 4831前言 监控hadoop的框架 ...
相关推荐
Hadoop2.2.0+HBase.96+Hive0.12简单集群环境的搭建
Hadoop-2.2.0+Hbase-0.96.2+Hive-0.13.1分布式整合,Hadoop-2.X使用HA方式
叶梓老师整理的Hadoop2.2.0+Hbase0.98.4+sqoop-1.4.4+hive-0.98.1安装手册,非常实用
资源描述:妳那伊抹微笑_云计算之Hadoop-2.2.0+Hbaase-0.96.2 +Hive-0.13.1完全分布式环境整合安装文档V1.0.0.docx 博客地址:http://blog.csdn.net/u012185296 技术方向:Flume+Kafka+Storm+Redis/Hbase+Hadoop+...
Hadoop2.2.0+Hbase0.98.1+Sqoop1.4.4+Hive0.13完全安装手册,经测试运行正常。
Hadoop2.2+Zookeeper3.4.5+HBase0.96集群环境搭建
用于生产环境的hadoop2.2.0和hbase0.96.2、hive0.12的集成安装 经过测试环境
Hadoop集群安装,配置集群,可以配置Hadoop2.2.0+Hbase0.96+hive0.13,这是最佳组合,其他的不行
本手册主要整理了Hadoop2.2.0的安装,包括QJM实现HA的详细配置,以及Hdfs-site的配置详解。 不包括Hbase、Hive安装
基于最新版本的湖仓一体、流批一体架构方案 hadoop-3.3.4+tez-0.10.2+hive-3.1.3+hbase-2.4.14+atlas-2.2.0+kafka- 2.8.2+ranger-2.3.0+flink-1.15.2+spark-3.3.0+hudi-0.12.1.jar+iceberg-0.14.1.jar+streamx
4,Hadoop2.2.0 5,Hbase0.96.2 6,Zookeeper3.4.5 7,Hive0.13.13 全是Java有关的框架,主要目的在于安装Hadoop,其他的都是附带的基本配置 本脚本能够快速在Linux上安装JAVA环境,并部署hadoop,其中关于hadoop,...
3.Hbase - 0.96.2-hadoop2 4.Hadoop - 2.2.0 5.hive - 0.13.1 您总是可以从 conf/lib jar 文件中找到版本。 Jar 文件有版本号。 另请参阅 pom.xml 以查看此项目中使用的版本。 ===============================...
hadoop hbase 权威指南等参考书 内附对应配置文件 hive eclipse插件(hadoop-eclipse-plugin-2.2.0.jar)
包括spark、mllib、hadoop、hive、hbase、solr、redis、memcache、elasticSearch、jdbc、mongodb、http、ftp、xml、csv、json等。 建筑学 要求 JDK 1.8 Scala-2.11.8 Apache Maven 3.1.0 或更新版本 Spark-2.1.0...
HADOOP.VERSION = 2.7.2 HBASE.VERSION = 1.2.6 HIVE.VERSION = 2.3.0 JDK.VERSION = 1.8.0_131 KAFKA.VERSION = 1.0.0 SCALA.VERSION = 2.11.8 SPARK.VERSION = 2.2.0 ZOOKEEPER.VESION = 3.4.10 ELASTICSEARCH....