Hive 导入 Hbase

1  用hbase工具导入 实际上市从hdfs 到hbase 的过程。 hive表的hdfs 路径为 ${hive.metastore.warehouse.dir}

hbase org.apache.hadoop.hbase.mapreduce.ImportTsv -Dimporttsv.columns=HBASE_ROW_KEY,info:userid name  /user/hive/warehouse/hive_hbase/*

2 创建HIVE->hbase映射表

CREATE TABLE employee_hbase
(key string,age int,sex string)
STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler‘
WITH SERDEPROPERTIES
("hbase.columns.mapping" = ":key,info:age,info:sex") TBLPROPERTIES ("hbase.table.name"="employee");

其中 Hive 表名:employee_hbase 有 key,age,sex 三列
HBase表名:employee_hbase 有 rowkey = key 列族 info 列 age sex  ... (key 是固定值)
名称一一对应

利用 insert into table employee_hbase select name as key,age,sex from employee;可以将已有Hive 数据导入到HBase

异常解决:

java.lang.IllegalArgumentException: The value of property hive.passthrough.storagehandler.of must not be null
Job Submission failed with exception ‘java.lang.IllegalArgumentException(The value of property hive.passthrough.storagehandler.of must not be null)‘

原因是创建了外部的映射表 。

CREATE EXTERNAL TABLE paint_action_prop_hbase (
uid string,
project_type string ,
avg_month_pv float,

....

把 EXTERNAL 去掉。删除hbase表。

时间: 2024-10-05 15:55:55

Hive 导入 Hbase的相关文章

Hive 数据导入HBase的2中方法详解

最近经常被问到这个问题,所以简单写一下总结. Hive数据导入到HBase基本有2个方案: 1.HBase中建表,然后Hive中建一个外部表,这样当Hive中写入数据后,HBase中也会同时更新 2.MapReduce读取Hive数据,然后写入(API或者Bulkload)到HBase 1.Hive 外部表 创建hbase表 (1) 建立一个表格classes具有1个列族user create 'classes','user' (2) 查看表的构造 hbase(main):005:0> desc

教程 | 使用Sqoop从MySQL导入数据到Hive和HBase

基础环境 sqoop:sqoop-1.4.5+cdh5.3.6+78, hive:hive-0.13.1+cdh5.3.6+397, hbase:hbase-0.98.6+cdh5.3.6+115 Sqool和Hive.HBase简介 Sqoop Sqoop是一个用来将Hadoop和关系型数据库中的数据相互转移的开源工具,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中. Hiv

数据导入(一):Hive On HBase

Hive集成HBase可以有效利用HBase数据库的存储特性,如行更新和列索引等.在集成的过程中注意维持HBase jar包的一致性.Hive与HBase的整合功能的实现是利用两者本身对外的API接口互相进行通信,相互通信主要是依靠hive_hbase-handler.jar工具类. 整合hive与hbase的过程如下: 1.将HBASE_HOME下的 hbase-common-0.96.2-hadoop2.jar 和 zookeeper-3.4.5.jar 拷贝(覆盖)到HIVE_HOME/l

hive导入数据到hbase

版本说明:hive-0.13.1 hbase-0.96.0/hbase-0.98.2 第一步:在hive客户端执行hive关联hbase建表语句 hive中对应的表hive_user_info hbase中对应的表user_info CREATE TABLE hive_user_info( a string,b string,c string, d string,e string, f string,g string) PARTITIONED BY(dt string) STORED BY'or

Hadoop Hive与Hbase关系 整合

用hbase做数据库,但因为hbase没有类sql查询方式,所以操作和计算数据很不方便,于是整合hive,让hive支撑在hbase数据库层面 的 hql查询.hive也即 做数据仓库 1. 基于Hadoop+Hive架构对海量数据进行查询:http://blog.csdn.net/kunshan_shenbin/article/details/7105319 2. HBase 0.90.5 + Hadoop 1.0.0 集成:http://blog.csdn.net/kunshan_shenb

[Hive]HBaseIntegration:通过Hive读写HBase

业务背景 unmatch_oppon_pro是一张Hive表,现在需要将其导入到HBase中. Hive中的unmatch_oppon_pro的表结构如下: 字段 类型 id bigint site_id int product_code string product_name string product_url string update_time string product_price double appraisal_num int sold_num int 导入到HBase时,将 p

【甘道夫】通过bulk load将HDFS上的数据导入HBase

引言 通过bulkload将HDFS上的数据装载进HBase是常用的入门级HBase技能,下面简单记录下关键步骤. bulkload的详细情况请参见官网文档. 过程 第一步:每台机器执行 ln -s $HBASE_HOME/conf/hbase-site.xml $HADOOP_HOME/etc/hadoop/hbase-site.xml 第二步:编辑$HADOOP_HOME/etc/hadoop/hadoop-env.sh,拷贝到所有节点 末尾添加: export HADOOP_CLASSPA

Hive整合HBase——通过Hive读/写 HBase中的表

写在前面一: 本文将Hive与HBase整合在一起,使Hive可以读取HBase中的数据,让Hadoop生态系统中最为常用的两大框架互相结合,相得益彰. 写在前面二: 使用软件说明 约定所有软件的存放目录: /home/yujianxin 一.Hive整合HBase原理 Hive与HBase整合的实现是利用两者本身对外的API接口互相进行通信,相互通信主要是依靠hive-hbase-handler-0.9.0.jar工具类,如下图 Hive与HBase通信示意图 二.具体步骤 安装前说明 1.关

使用sqoop将MySQL数据库中的数据导入Hbase

使用sqoop将MySQL数据库中的数据导入Hbase 前提:安装好 sqoop.hbase. 下载jbdc驱动:mysql-connector-java-5.1.10.jar 将 mysql-connector-java-5.1.10.jar 拷贝到 /usr/lib/sqoop/lib/ 下 MySQL导入HBase命令: sqoop import --connect jdbc:mysql://10.10.97.116:3306/rsearch --table researchers --h