我对Hive中create external table
的行为感到有点困惑。
如果我执行以下操作:
CREATE EXTERNAL TABLE hive_hbase_table ( key INT,
name map<STRING,STRING>,
info map<STRING,STRING>)
STORED BY 'org.apache.hadoop.hive.hbase. HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,CustomerName:,ContactInfo:")
TBLPROPERTIES ("hbase.table.name" = "customerinfo");
我是否认为没有数据加载到表中?相反,外部表只是作为基础表的视图?
“外部表格”总是如此,或者这只是因为我已经说过&#39;存储了&#39;并且没有使用过“负载”。命令?
谢谢!
答案 0 :(得分:0)
您可以在此link中找到Hive内部表与外部表之间的差异。 表中没有加载数据。 现在关于
STORED BY 'org.apache.hadoop.hive.hbase. HBaseStorageHandler'
使用HBaseStorageHandler向Hive Metastore注册HBase表。您可以选择将HBase表指定为EXTERNAL,在这种情况下,Hive不会创建直接删除该表 - 您必须使用HBase shell来执行此操作。 希望我的回答可以帮助你