我有一个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
我在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")
我已经安装了hadoop和Hbase,据我所知,它们都工作得很好。当尝试使用hadoop构建jar时,我得到了一个
java.lang.NoClassDefFoundError: org/apache/hadoop/hbase/HBaseConfiguration
错误,在我的maven依赖项中使用Hbase版本0.90.2。
我认为这是Hbase的一个很旧的版本,我不确定这个旧版本是否与Hadoop2.7.2甚至Java 8兼容。
Failed to execute goal on project exercise_2: Could not resolve dependencies for
我想使用HBase作为一个存储,在那里我可以推入几百万个{document => {term => weight}}格式的条目。"Insert term X into document Y with weight Z“,然后发出类似于"Select the top 1000 term for this document”或"Select the top 1000 term for each document“的命令。这在我当前的MySQL实现中可以工作,但是该域可能更适合HBase。我注意到HBase和BigTable用于全文索引,这是一个类似的问题领域。
我总共有10个节点。3个节点运行Zookeeper,其余7个节点运行HDFS和Hbase。而且Hbase已经存储了很多数据。我错误地初始化了Zookeeper节点的(I'm using Cloudera, by mistake clicked the Initialize Button)。我想知道这3个Zookeeper节点是否丢失了可能是Hbase mata数据的持久数据。或者说,Hbase将元数据存储在Hmaster中,而Zookeeper只存储一些内存数据。
我试图在现有的Hbase表上创建一个Hive表,如下所示:
create external table h2h (
key int -- int or string?
col1 string
)
stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
with serdeproperties ('hbase.columns.mapping' = ':key,info:col1');
演示了key的几种数据类型。
如何确定列key的数据类型,该列映射到Hbase表中的