`
chakey
  • 浏览: 363814 次
  • 性别: Icon_minigender_1
  • 来自: 水星
社区版块
存档分类
最新评论

Hive HBase整合使用

    博客分类:
  • Hive
阅读更多

Hive HBase整合使用

将Hive中的数据导入到HBase中

wiki上的介绍链接如下:

http://wiki.apache.org/hadoop/Hive/HBaseIntegration

 

各版本要求:

hadoop-0.20.2

hbase-0.20.3

hive-0.6.0(之前的版本都不支持)

zookeeper-3.3.0

 

确认目录下有这个jar包:

./hive-0.6.0/lib/hive_hbase-handler.jar

 

 

加载这个jar包启动hive:

单个hbase服务器的启动命令如下:

bin/hive --auxpath /home/hadoopuser/hive-0.6.0/lib/hive_hbase-handler.jar,/home/hadoopuser/hive-0.6.0/lib/hbase-0.20.3.jar -hiveconf hbase.master=master:60000

如果使用zookeeper为hbase集群选择一个master

bin/hive --auxpath /home/hadoopuser/hive-0.6.0/lib/hive_hbase-handler.jar,/home/hadoopuser/hive-0.6.0/lib/hbase-0.20.3.jar -hiveconf hbase.zookeeper.quorum=server1,server2,server3

 

举例子 :

创建HBase

CREATE TABLE hbase_table_1(key int, value string) 

STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'

WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:val")

TBLPROPERTIES ("hbase.table.name" = "xyz");

 

hbase.table.name这项说明,在Hive这个表叫做 hbase_table_1 ,在HBase中这个表叫做 xyz。

hive> describe hbase_table_1;

OK

key     int     from deserializer

value   string  from deserializer

Time taken: 0.225 seconds

 

hbase(main):001:0> describe 'xyz'

DESCRIPTION                                                             ENABLED

 {NAME => 'xyz', FAMILIES => [{NAME => 'cf1', COMPRESSION => 'NONE', VE true

 RSIONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY =>

  'false', BLOCKCACHE => 'true'}]}

1 row(s) in 0.1040 seconds

hbase(main):002:0>

 

 

CREATE TABLE pokes (foo INT, bar STRING);  

LOAD DATA LOCAL INPATH './examples/files/kv1.txt' OVERWRITE INTO TABLE pokes; 

 

INSERT OVERWRITE TABLE hbase_table_1 SELECT * FROM pokes WHERE foo=86;

 

 

 

分享到:
评论
2 楼 xchd 2014-02-15  
czwq2001 写道
我带hbase执行的时候出现以下异常,不带hbase是正常的
hive> select * from pokes where 1=1;
Total MapReduce jobs = 1
Launching Job 1 out of 1
Number of reduce tasks is set to 0 since there's no reduce operator
java.lang.IllegalArgumentException: Can not create a Path from an empty string
        at org.apache.hadoop.fs.Path.checkPathArg(Path.java:82)
        at org.apache.hadoop.fs.Path.<init>(Path.java:90)
        at org.apache.hadoop.fs.Path.<init>(Path.java:50)
        at org.apache.hadoop.mapred.JobClient.copyRemoteFiles(JobClient.java:554)
        at org.apache.hadoop.mapred.JobClient.configureCommandLineOptions(JobClient.java:637)
        at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:805)
        at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:775)
        at org.apache.hadoop.hive.ql.exec.ExecDriver.execute(ExecDriver.java:688)
        at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:107)
        at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:55)
        at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:633)
        at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:506)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:384)
        at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:138)
        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:197)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:302)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
Job Submission failed with exception 'java.lang.IllegalArgumentException(Can not create a Path from an empty string)'
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.ExecDriver

请问下怎么解决



我也遇到
版本hadoop-1.2.1 hbase-0.94.16 hive-0.12.0 zookeeper-3.4.5
1 楼 czwq2001 2011-08-04  
我带hbase执行的时候出现以下异常,不带hbase是正常的
hive> select * from pokes where 1=1;
Total MapReduce jobs = 1
Launching Job 1 out of 1
Number of reduce tasks is set to 0 since there's no reduce operator
java.lang.IllegalArgumentException: Can not create a Path from an empty string
        at org.apache.hadoop.fs.Path.checkPathArg(Path.java:82)
        at org.apache.hadoop.fs.Path.<init>(Path.java:90)
        at org.apache.hadoop.fs.Path.<init>(Path.java:50)
        at org.apache.hadoop.mapred.JobClient.copyRemoteFiles(JobClient.java:554)
        at org.apache.hadoop.mapred.JobClient.configureCommandLineOptions(JobClient.java:637)
        at org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:805)
        at org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:775)
        at org.apache.hadoop.hive.ql.exec.ExecDriver.execute(ExecDriver.java:688)
        at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:107)
        at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:55)
        at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:633)
        at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:506)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:384)
        at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:138)
        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:197)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:302)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
Job Submission failed with exception 'java.lang.IllegalArgumentException(Can not create a Path from an empty string)'
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.ExecDriver

请问下怎么解决

相关推荐

    HIVE和HBASE的整合

    在HIVE中创建HBASE的外表,是实现HIVE和HBASE整合的关键步骤。外表是一种虚拟表,它不存储实际数据,而是指向HBASE中的实际数据。通过创建外表,HIVE可以直接访问HBASE中的数据,并且可以使用类SQL和各种函数来操作...

    hive和hbase整合

    【Hive与HBase整合详解】 Hive和HBase是两个大数据处理的重要组件。Hive提供了基于SQL的查询语言(HQL)来处理大规模的数据,适合于离线批处理;而HBase则是一个NoSQL数据库,它基于Google的Bigtable设计,提供高...

    hive与hbase整合经验谈

    将Hive与HBase整合,主要是为了结合两者的优点,实现批量处理和实时查询的无缝对接。整合的关键在于Hive的外部表功能,通过创建指向HBase表的外部表,我们可以用Hive的HQL查询HBase中的数据。 整合步骤如下: 1. *...

    大数据工具篇之Hive与HBase整合完整教程

    ### 大数据工具篇之Hive与HBase整合完整教程 #### 一、引言 在大数据处理领域,Hive 和 HBase 是两种非常重要的工具。Hive 是一种数据仓库工具,可以用来进行数据提取、转换和加载(ETL),同时提供了一种 SQL ...

    hive与hbase整合经验谈.pdf

    Hive与HBase整合后可以实现多样的使用场景,包括但不限于数据的批量迁移、实时更新、周期性加载以及复杂的数据分析操作。 整合Hive与HBase后,可以在Hive中进行数据的插入、查询、连接(JOIN)、分组(GROUPBY)...

    hive 整合 hbase

    ### Hive整合HBase知识点解析 #### 一、HBase简介及特性 HBase是一个构建在Hadoop分布式文件系统(HDFS)之上的分布式、可扩展的列式存储系统。它被设计用来处理海量数据,提供了高可靠性和高性能的数据访问能力。...

    Hive与Hbase的整合

    Hive与Hbase的整合,集中两者的优势,使用HiveQL语言,同时具备了实时性

    Hive整合HBase资源文件.zip

    1. **Hive与HBase的集成背景**:介绍为什么需要将Hive与HBase整合,通常是因为需要结合Hive的数据处理能力与HBase的实时查询和高并发性能。 2. **Hive-HBase连接器**:文件"hive-hbase-handler-1.2.1.jar"是Hive...

    hive-hbase-handler-1.2.2.jar

    hive和hbase整合的时候,如果出现不兼容的情况需要手动编译:hive-hbase-hander-1.2.2.jar把这个jar替换掉hive/lib里的那个jar包

    hadoop,hbase,hive版本整合兼容性最全,最详细说明【适用于任何版本】 -

    本文将详细介绍Hadoop、HBase和Hive的版本整合兼容性,以及如何确保它们在不同版本间顺畅协作。 首先,Hadoop作为基础平台,其版本选择会直接影响到HBase和Hive的运行。Hadoop的主要组件包括HDFS(分布式文件系统)...

    scala-hive-HBASE-Api.7z

    在Java开发中,为了将这些组件整合在一起,你需要相关的jar包,例如包含Hive和HBase的API。这些API允许你在Scala程序中直接操作Hive和HBase,简化了数据处理的流程。例如,`scalatestOne`可能是一个Scala测试项目,...

    hadoop,hbase,hive版本整合兼容性最全,最详细说明【适用于任何版本】

    本文将介绍Hadoop、HBase、Hive以及ZooKeeper的版本整合兼容性,以及如何根据版本找到兼容性信息。 首先,Hadoop是一个开源的分布式存储和计算框架,它由HDFS和MapReduce两部分组成。HDFS用于存储大数据,而...

    hadoop2.2+hbase0.96+hive0.12安装整合详细高可靠文档及经验总结

    6. Hive与HBase整合需要做哪些准备工作? **详细解答:** **1. MySQL的使用:** - 不需要在每个客户端安装MySQL,只需在服务器端安装即可。 - MySQL用于存储Hive的元数据,提高性能和可靠性。 **2. 客户端与...

    HBase与hive整合 和 hive与hdfs结合的效率对比1

    《HBase与Hive整合及效率对比分析》 在大数据处理领域,HBase和Hive分别扮演着不同的角色。...在选择使用Hive on HBase还是Hive on HDFS时,应根据查询类型和数据特性来权衡,以实现最佳的性能表现。

    HIVE和HBASE区别

    "HIVE和HBASE区别" HIVE和HBASE是两种基于Hadoop的不同技术,分别是数据仓库和Key/Value系统。它们之间有很多区别,包括设计理念、应用场景、查询语言等方面。 HIVE HIVE是一个构建在Hadoop基础设施之上的数据...

    HADOOP+HBASE+HIVE整合工程和文档

    对于开发者来说,理解和掌握Hadoop、HBase、Hive的整合使用,是提升大数据处理能力的关键。通过阅读相关的文档,如官方手册、技术博客、社区讨论等,可以深入学习这些组件的原理和实践技巧,从而更好地运用在实际...

    (编译过的)hive-hbase-handler-1.2.1.jar

    hive和hbase的整合所需要的编译后的jar包。 注意:这里的hbase版本为:1.2.1 hive的版本为:1.2.1

    mapreduce方式入库hbase hive hdfs

    mapreduce方式入库hbase hive hdfs,速度很快,里面详细讲述了代码的编写过程,值得下载

Global site tag (gtag.js) - Google Analytics