我正在尝试将hive与Hbase集成在一起。我正在使用pivotal VM
add jar /usr/lib/gphd/hive/lib/hive-hbase-handler-0.12.0-gphd-3.0.0.0.jar
add jar /usr/lib/gphd/hive/lib/guava-11.0.2.jar;
add jar /usr/lib/gphd/hbase/lib/hbase-common.jar;
add jar /usr/lib/gphd/zookeeper/zookeeper.jar;
add jar /usr/lib/gphd/hbase/lib/protobuf-j
我指的是Hive-HBase集成的。
首先,我验证了HBase中没有名为ORDERS_HIVE_DUMMY的表:
hbase(main):016:0> describe 'ORDERS_HIVE_DUMMY'
ERROR: Failed to find table named ORDERS_HIVE_DUMMY
Here is some help for this command:
Describe the named table. For example:
hbase> describe 't1'
然后我启动了hive shell:
hdu
我在2节点hadoop上运行hive和hbase。我使用hadoop-0.20.205.0、hive-0.9.0、hbase-0.92.0和zookeeper-3.4.2。
hive和hbase分别工作得很好。然后我按照这本手册集成了hive和hbase。
hive启动时没有错误,我创建了示例表
CREATE TABLE hbase_table_1(key int, value string)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbas
我有一个hbase表,我想把它映射到一个hive表。问题是,当我在hive中使用外部表时,它会完成,但当我想在hive中创建内部表时,它会抛出一个异常:
message:Table yourtable *already exists within HBase*; use CREATE EXTERNAL TABLE instead to register it in Hive
使用的命令:
CREATE TABLE A
(key string, date_time timestamp)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseSto
我正在尝试从hive表加载hbase表,因为我使用了以下方法,如果我在hbase表中只有一个列家族,那么它可以很好地工作,但是如果我有多个家族,它会抛出错误。
逼近
源表
CREATE EXTERNAL TABLE temp.employee_orc(id String, name String, Age int)
STORED AS ORC
LOCATION '/tmp/employee_orc/table';
用Hbase Serde创建Hive表
CREATE TABLE temp.employee_hbase(id String, name String, age in
我创建了一个具有以下属性的配置单元表:
create external table statdata(uid int, user string, loc string, locweather int)
stored as textfile
row format delimited
fields terminated by ','
location '/hive/data/weatherstats’;
Hive表包含5行我手动插入的行。
hive> select * from statdata;
OK
1 john newyork 33
2 rob london 3
我看到了一个存储HBase数据的外部Hive表:
CREATE EXTERNAL TABLE IF NOT EXISTS ods.demo_table(
rowkey String COMMENT 'rowkey of hbase',
....
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping" = "info:...") TBLPROPER
我试图用HBase表('test_table)作为源创建Hive外部表,HBase表是在HBase名称空间‘test_命名空间’下创建的。在应用程序的其他部分中,我使用以下syntx访问表
test_namespace:test_table或hbase://test_hbase:test_table
按照相同的方法,我创建了一个hive脚本
CREATE EXTERNAL TABLE IF NOT EXISTS TEST_INDIVIDUAL(
key string,
test string,
photo string,
location s
我使用Hbase作为数据存储,我有Hive表使用从Hbase读取数据。
我使用的是Composite ROWKEY (Struct (region,country,date,id))。
有没有办法从中删除特定的数据,或者从Hbase还是从HIve中删除?
可以使用HBase shell命令或Hive查询执行以下操作吗?
delete from table where region=EU and country=US and date=2015-06-11;
使用Hive 0.14
提前谢谢。
我在HBase中有一个表,我希望将其表示为hive中的EXTERNAL TABLE
到目前为止,我一直在使用:
CREATE EXTERNAL TABLE events(key STRING, day INT, source STRING, ip STRING)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping"=":key,c:date#b,c:source,c:ipAddress")