我正在尝试使用 HBase 表 ('test_table) 作为源创建 Hive 外部表。 HBase 表是在 HBase 命名空间“test_namespace”下创建的。 在应用程序的其他部分,我使用以下语法访问表
test_namespace:test_table 或 hbase://test_namespace:test_table
按照同样的方法我创建了一个配置单元脚本
CREATE EXTERNAL TABLE IF NOT EXISTS TEST_INDIVIDUAL(
key string,
test string,
photo string,
location string)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES("hbase.columns.mapping"="key,default:test,default:photo,default:location")
TBLPROPERTIES("hbase.table.name" = "test_namespace:test_table");
但是当我执行配置单元脚本时,我得到错误表未找到。 如果我尝试
hbase://test_namespace:test_table
它抛出无效的表名错误。
我试图通过谷歌搜索如何在配置单元脚本中引用 HBase 命名空间。但运气不好。
在此先感谢您的帮助!
最佳答案
我试过同样的问题,效果很好,
以下是步骤顺序,
一个。在 HBase Shell 中执行操作
创建命名空间(即 HBase 中的数据库/模式)
create_namespace 'krishna'
检查命名空间是否存在
列表命名空间
在命名空间内创建表
创建 'krishna:hivehbase', 'ratings'
验证命名空间内的表创建
list_namespace_tables '克里希纳'
添加行和列族(填充表)
put 'krishna:hivehbase', 'row1', 'ratings:userid', 'user1' 放 'krishna:hivehbase', 'row1', 'ratings:bookid', 'book1' 放 'krishna:hivehbase', 'row1', 'ratings:rating', '1'
put 'krishna:hivehbase', 'row2', 'ratings:userid', 'user2' 放 'krishna:hivehbase', 'row2', 'ratings:bookid', 'book1' 放 'krishna:hivehbase', 'row2', 'ratings:rating', '3'
put 'krishna:hivehbase', 'row3', 'ratings:userid', 'user2' 放 'krishna:hivehbase', 'row3', 'ratings:bookid', 'book2' 放 'krishna:hivehbase', 'row3', 'ratings:rating', '3'
put 'krishna:hivehbase', 'row4', 'ratings:userid', 'user2' 放 'krishna:hivehbase', 'row4', 'ratings:bookid', 'book4' 放 'krishna:hivehbase', 'row4', 'ratings:rating', '1'
验证表数据
扫描'krishna:hivehbase'
B.在 Hive Shell 中执行操作
创建外部表
创建外部表 hbasehive_table (key string, userid string,bookid string,rating int) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES ("hbase.columns.mapping"= ":key, ratings:userid,ratings:bookid,ratings:rating") TBLPROPERTIES ("hbase.table.name"= "krishna:hivehbase");
验证外部表
从 hbasehive_table 中选择 *;
关于hadoop - 如何在 hive create table "TBLPROPERTIES"中引用 HBase 命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37853255/