- 浏览: 346746 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
tpxcer:
不开启时可以的,而且开启以后各种坑。。。。
hue beeswax权限管理 -
yangze:
博主请教一个问题,hue 控制hive表的权限怎么弄? 怎么联 ...
cloudera新增用户权限配置 -
linux91:
楼主你好,我用CM配置LDAP用户组映射,进入impala时, ...
sentry配置 -
linux91:
版主:按你的步骤配置了,可是,执行 impala-shell ...
impala集成LDAP -
lookqlp:
super_a 写道你好!找不到表这个问题是如何解决的,可以描 ...
hcatalog读取hive数据并写入hive
前置条件
hadoop hive hbase环境搭建完成。
搭建版本
hadoop-1.0.3
hive-0.9.0
hbase-0.94.2
zookeeper-3.3.5
步骤
配置hive xml,配置hbase与hive结合包
将hbase-0.94.2.jar 、zookeeper-3.3.5.jar包copy至所有节点$HDOOP_HOME/lib及$HIVE_HOME/lib下。注意$HIVE_HOME/lib含有hbase包需要删除。
将hbase-site.xml文件copy至所有节点$HDOOP_HOME/conf下。
测试,启动hive,创建表
若创建表不成功,查看hive日志提示如下异常:
表明hbase中protobuf-java-2.4.0a.jar包没有在集群的classpath中,查看该job的syslog logs "conf classpath =..."确实不存在该包,需要将protobuf-java-2.4.0a.jar包copy至所有节点$HADOOP_HOME/lib下,并需要重启集群(不重启该包不会被加载进classpath)
qq表创建表成功后,打开hbase shell窗口,list查看xx表已经存在。
hive表中插入数据:
分别查看hive中qq表,hbase中xx表数据,都有数据。----表示结合成功。
很多资料包括官网使用insert into table qq select * from test即可导入,但实践证明不成功,可能是hbase及hive版本导致的。
注意:如上sql中test表字段类型必须与qq表字段类型一致,若不一致会报如下异常:
hive创建hbase已经存在的表:
info表示列族,name和age为列族下的两个列。若hbase中还有info:class列,但创建hive关联表使用如上语句,执行select * from te只可得到key,value1、value2的值,即rowkey、name、age,没有class的值。
hadoop hive hbase环境搭建完成。
搭建版本
hadoop-1.0.3
hive-0.9.0
hbase-0.94.2
zookeeper-3.3.5
步骤
配置hive xml,配置hbase与hive结合包
<property> <name>hive.aux.jars.path</name> <value>file:///usr/local/hive-0.9.0/lib/hive-hbase-handler-0.9.0.jar,file:///usr/local/hive-0.9.0/lib/hbase-0.94.2.jar,file:///usr/local/hive-0.9.0/lib/zookeeper-3.3.5.jar</value> </property>
将hbase-0.94.2.jar 、zookeeper-3.3.5.jar包copy至所有节点$HDOOP_HOME/lib及$HIVE_HOME/lib下。注意$HIVE_HOME/lib含有hbase包需要删除。
将hbase-site.xml文件copy至所有节点$HDOOP_HOME/conf下。
测试,启动hive,创建表
CREATE TABLE qq(key string, value string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,info:value") TBLPROPERTIES ("hbase.table.name" = "xx"); --数据表 create table test(a string,b string); --含有数据: --1 a --2 b --3 c
若创建表不成功,查看hive日志提示如下异常:
2012-11-29 12:33:02,191 FATAL ExecMapper: java.lang.NoClassDefFoundError: com/google/protobuf/Message at org.apache.hadoop.hbase.io.HbaseObjectWritable.<clinit>(HbaseObjectWritable.java:263) at org.apache.hadoop.hbase.ipc.Invocation.write(Invocation.java:139) at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.sendParam(HBaseClient.java:638) at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:1001) at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:150) at $Proxy8.getProtocolVersion(Unknown Source) ...... 2012-11-29 12:33:02,282 FATAL org.apache.hadoop.mapred.Child: Error running child : java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/io/HbaseObjectWritable at org.apache.hadoop.hbase.ipc.Invocation.write(Invocation.java:139) at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.sendParam(HBaseClient.java:638) at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:1001) at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:150) at $Proxy8.getProtocolVersion(Unknown Source)
表明hbase中protobuf-java-2.4.0a.jar包没有在集群的classpath中,查看该job的syslog logs "conf classpath =..."确实不存在该包,需要将protobuf-java-2.4.0a.jar包copy至所有节点$HADOOP_HOME/lib下,并需要重启集群(不重启该包不会被加载进classpath)
qq表创建表成功后,打开hbase shell窗口,list查看xx表已经存在。
hive表中插入数据:
insert into table qq select a as key,b as value from test;
分别查看hive中qq表,hbase中xx表数据,都有数据。----表示结合成功。
很多资料包括官网使用insert into table qq select * from test即可导入,但实践证明不成功,可能是hbase及hive版本导致的。
注意:如上sql中test表字段类型必须与qq表字段类型一致,若不一致会报如下异常:
Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row {"a":"a","b":"1"} at org.apache.hadoop.hive.ql.exec.MapOperator.process(MapOperator.java:548) at org.apache.hadoop.hive.ql.exec.ExecMapper.map(ExecMapper.java:143) ... 7 more Caused by: org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.hive.serde2.SerDeException: HBase row key cannot be NULL at org.apache.hadoop.hive.ql.exec.FileSinkOperator.processOp(FileSinkOperator.java:604) at org.apache.hadoop.hive.ql.exec.Operator.process(Operator.java:471) at org.apache.hadoop.hive.ql.exec.Operator.forward(Operator.java:762) at org.apache.hadoop.hive.ql.exec.SelectOperator.processOp(SelectOperator.java:84) at org.apache.hadoop.hive.ql.exec.Operator.process(Operator.java:471)
hive创建hbase已经存在的表:
CREATE EXTERNAL TABLE te(key string, value1 string,value2 string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = "info:name,info:age") TBLPROPERTIES("hbase.table.name" = "test");
info表示列族,name和age为列族下的两个列。若hbase中还有info:class列,但创建hive关联表使用如上语句,执行select * from te只可得到key,value1、value2的值,即rowkey、name、age,没有class的值。
发表评论
-
security cdh mapreduce access hbase
2014-12-02 15:09 1105执行mapreduce的用户必须是可以访问hdfs相应目录和执 ... -
hive gateway(client) configuration
2014-12-02 14:32 8115配置hive gateway机器 Caused by: Met ... -
hive并行导入数据锁问题
2014-08-26 10:46 2214hive同时load数据时,即使是不同分区,也会lock表, ... -
hive常用命令
2014-08-06 10:59 11927整理一下,用的时候照着贴就行了。 1.hive数据导出 ... -
hive执行时找不到文件
2014-03-03 12:57 7618hive计算时找不到文件 2014-03-03 11:13:3 ... -
hive hive.optimize.ppd=false导致map数量很大
2014-01-03 11:05 1875hive官方https://cwiki.apache.org/ ... -
HBase数据查询之Coprocessor
2013-12-20 16:41 3265二级索引方案 协处理器的概念、作用和类型不介绍,可以 ... -
HBase数据查询之常规查询
2013-12-20 16:40 2777简述 订单常规查询用到的字段可能有:店铺id、订单创建时间( ... -
hello hbase
2013-04-22 17:57 3399前言 近半年本人主要在倒腾数据,遇到海量数据去重的难题,曾经尝 ... -
hbase 双网卡 多网卡
2012-12-06 14:09 1699官方issue未解决,不支持多网卡 https://issue ... -
hive结合hbase数据处理解决方案测评二(优化篇)
2012-12-06 09:41 6582接上一篇,对hbase参数进行优化,主要是调整与查询效率相关的 ... -
python hbase
2012-12-04 17:20 2227需求 将文本数据导入至hbase中。 安装thrift 下载 ... -
hive结合hbase数据处理解决方案测评
2012-12-03 17:19 5180前言 我们考虑为什么要将hive与hbase结合,出于hbas ... -
java.lang.ClassNotFoundException: org.apache.hadoop.hive.hbase.HBaseSplit
2012-12-03 11:19 5050hive关联hbase表,使用sele ... -
hive rank 测试
2012-11-30 11:18 3490前言 最近在做数据的去重,想到一种类似于关系型数据库rank函 ... -
sqoop hbase导入并与hive结合
2012-11-29 17:23 5398sqoop语句 以tid为主键,info为列族 sqoop i ... -
Number of dynamic partitions RemoteException LeaseExpiredException
2012-11-29 09:41 2531hive做大数据处理时,遇到如下异常: [Fatal Er ... -
hbase搭建
2012-11-27 11:43 3099前置条件 hadoop环境运行正常。 步骤 下载hba ... -
hive SQL调用python脚本遇到的几个问题
2012-11-21 09:07 5258sql调用python获取数据字段个数太多 源码: f ... -
搭建hive的eclispe调试环境(ubuntu)
2012-11-20 14:02 1497svn check out hive 工程 图1 将相关jav ...
相关推荐
Hive与HBase的结合主要依赖于HBaseStorageHandler,它作为两者之间的桥梁,允许Hive访问和操作HBase中的数据。Hive通过HBaseStorageHandler获取HBase表的相关信息,如表名、列簇和列,以及InputFormat和OutputFormat...
4. **HBase-Hive Bridge**: 通过建立HBase与Hive之间的桥接,使得Hive可以直接查询HBase中的数据,但这种方式可能会影响HBase的性能,因为它增加了HBase的读取压力。 5. **Apache Phoenix**: 这是一个SQL层,可以...
将这些组件结合在一起,我们可以构建一个系统,其中PHP作为前端开发语言,通过Thrift接口与后端的HBase和Hive进行通信。用户可以通过PHP编写的应用程序来查询或操作存储在HBase中的大数据,或者通过Hive进行复杂的...
在Hadoop生态系统中,Zookeeper常用来维护HBase的RegionServer分布状态、Hadoop的JobTracker与TaskTracker的协调,以及Hive元数据的管理等。 这些技术的结合使用,可以构建出一个强大的大数据处理平台。例如,...
在Hadoop的分布式环境中,HBase提供了实时的数据存储,而Hive则提供了便捷的数据分析接口,两者的结合使得大数据处理更加灵活和强大。理解并熟练掌握这些技术,对于构建大规模数据处理系统至关重要。
- 两者可以通过Hive-on-HBase的方式结合使用,即利用Hive的SQL接口来查询HBase中的数据,增强了HBase的查询灵活性。 #### 2. HBase数据结构 **知识点解析:** HBase的数据模型主要由行键(Row Key)、列族(Column...
两者可以结合使用,Hive可以将数据导出到HBase,以便进行实时查询,而Hive则用于数据的批量处理和分析。 综上所述,HBase和Hive都是大数据处理的重要工具,它们各有侧重,相互补充,共同构建了强大的大数据处理平台...
这种集成允许大数据项目充分利用 HBase 的实时性与 Hive 的强大分析能力,实现离线批量处理与实时查询的结合。 6. **离线分析**: 离线分析通常指在非实时场景下,对大数据集进行批量处理和分析。在这个项目中,...
将Hive与HBase整合,主要是为了结合两者的优点,实现批量处理和实时查询的无缝对接。整合的关键在于Hive的外部表功能,通过创建指向HBase表的外部表,我们可以用Hive的HQL查询HBase中的数据。 整合步骤如下: 1. *...
### Hive与HBase的核心知识点详解 #### 一、Hive概览 **1.1 定义** Apache Hive 是一个建立在 Hadoop 上的数据仓库工具,它为在大规模数据集上进行复杂的查询提供了便利。Hive 的核心设计是让用户能够通过类似 SQL...
进行Hive与HBase整合时,需要准备的工具有HBase的配置文件、Hive的配置文件以及MySQL数据库。 从内容中可以看出,本安装文档在整合Hadoop、HBase和Hive时提供了实践过程中的总结和注意事项,并提供了相关问题导读,...
当Hive与HBase结合时,可以通过Hive查询HBase中的数据,形成Hive外部表。hive-beeline.jar是Hive的命令行接口,方便用户执行HQL查询。 Hadoop-YARN(Yet Another Resource Negotiator)是Hadoop的资源管理系统,...
将Hive与HBase整合,可以实现离线分析与实时查询的结合,提升数据分析效率。 **1. 配置整合** 为了使Hive能够与HBase交互,我们需要在Hive的配置文件`hive-site.xml`中添加相关的JAR路径,以便Hive能够识别HBase的...
1. **Hive与HBase的集成背景**:介绍为什么需要将Hive与HBase整合,通常是因为需要结合Hive的数据处理能力与HBase的实时查询和高并发性能。 2. **Hive-HBase连接器**:文件"hive-hbase-handler-1.2.1.jar"是Hive...
【大数据实践——HBase深入解析】 HBase,作为Hadoop生态系统中的分布式列式数据库,是为处理大规模数据而设计...通过自学或结合课程学习,可以掌握HBase的基础知识和实践经验,为进一步深入大数据领域打下坚实基础。
它是一个分布式SQL查询引擎,提供了对多种数据源的支持,如HDFS、Hive、HBase、Parquet等,使得数据的读取和写入更为方便。 Spark SQL的核心特性包括: 1. **兼容性**:Spark SQL兼容Hive,可以无缝集成Spark程序...
### 大数据工具篇之Hive与HBase整合完整教程 #### 一、引言 在大数据处理领域,Hive 和 HBase 是两种非常重要的工具。Hive 是一种数据仓库工具,可以用来进行数据提取、转换和加载(ETL),同时提供了一种 SQL ...
【正文】 本篇内容主要围绕清华大学精品大数据实战课程中的第二章——Hadoop基础进行深入解析。Hadoop作为大数据处理的核心框架,是...通过深入学习,可以为后续的Hbase、Hive、Spark等大数据技术的学习打下坚实基础。