2013-07-10 84 views
0

我有一个要求,使Hive中的数据仓库和使用HBase服务实时访问 所以我想知道什么是相同的架构 我可以首先转储数据在HBase和访问它作为Rest服务并在Hive中创建外部表,并在其上运行配置单元查询? 威尔蜂巢分布即我需要我的集群中的所有节点上安装蜂巢否则这将是中央Hive中的数据仓库

+1

请告诉我们你到目前为止做了些什么。 –

回答

0

在回答你的问题:

蜂巢将分发。

为了获得最佳性能,我会考虑在群集的每个节点上安装Hive。 Hive将HiveQL转换为MapReduce作业 - 作业将在数据所在的位置执行。如果这是不可能的,数据将不得不转移到工作中。为了响应时间,您需要在每个节点上配置Hive。

要创建引用存储在HBase中的数据的Hive表,可以查看Hive - HBase Integration wiki。这里有一个简单的例子:

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"); 
+0

感谢Jeremiah为您提供的输入信息 –

+0

因此,我可以使用HBase进行近实时查询吗?并进行数据转换hive查询将在HBase表上运行 –

+0

你明白了!只要您以易于使用HBase读取的方式构建数据,您应该可以使用HBase进行实时访问,并使用Hive进行批量处理和转换。请记住,Hive只是'INSERT' /'DELETE' - 没有更新。 –