我已经使用 CREATE EXTERNAL TABLE 命令为 HBase 中的现有表在 HIVE 中创建了表。
我可以通过 HIVE 外壳看到表格
但在通过 HIVE 查询表时,返回“0”记录。通过日志确定 HIVE 正在 HADOOP 而不是 HBase 中执行 MAP-REDUCE 程序
我在配置 Hive 和 HBase 时错过了什么吗?
我猜你正在使用 0.9 之前的 Hive 版本。
在 Hive 0.8 及之前的版本中使用 HBase 存储处理程序创建 Hive 表将只允许您访问通过相应 Hive 表插入的 HBase 表中的数据。如果您的 HBase 表中有任何未通过 Hive 表插入的预先存在的数据,您也将无法通过 Hive 表查询它。
从 Hive 0.9 开始,JIRA 1634将可用,它允许 Hive 表访问 HBase 表中存在的所有数据,而不管它是如何插入其中的。
我建议您要么获取此补丁,要么升级到 Hive 0.9