在Hive中使用'stored by'创建外部表时,是否加载了数据?

时间:2015-02-06 05:53:31

标签: hadoop hive hdfs

我对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;并且没有使用过“负载”。命令?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以在此link中找到Hive内部表与外部表之间的差异。 表中没有加载数据。 现在关于

STORED BY 'org.apache.hadoop.hive.hbase. HBaseStorageHandler' 

使用HBaseStorageHandler向Hive Metastore注册HBase表。您可以选择将HBase表指定为EXTERNAL,在这种情况下,Hive不会创建直接删除该表 - 您必须使用HBase shell来执行此操作。 希望我的回答可以帮助你