我创建了没有任何位置的外部表。现在,即使我们删除了表格,也会存储数据。
CREATE EXTERNAL TABLE forest(
animal string,
food string)
答案 0 :(得分:1)
当您创建没有位置的外部表时,数据将存储在配置单元默认位置。
平时
/apps/hive/warehouse/<database_name>.db/<table_name>
。
如果在测试数据库中创建表,则您的配置单元位置将为
/apps/hive/warehouse/test.db/forest
如果删除表格,则可以在此位置找到数据。
使用命令show create table forest;
,如果您没有删除它,它将为您提供位置的详细信息。
答案 1 :(得分:1)
如果您没有指定外部表的位置,它将存储在默认的配置单元仓库位置。
见下面的例子。
hive> USE ramesh;
OK
Time taken: 0.013 seconds
hive> CREATE EXTERNAL TABLE test
> (col1 BIGINT, col2 STRING)
> ROW FORMAT DELIMITED
> FIELDS TERMINATED BY ','
> STORED AS TEXTFILE;
OK
Time taken: 0.056 seconds
hive> SHOW CREATE TABLE test;
OK
CREATE EXTERNAL TABLE `test`(
`col1` bigint,
`col2` string)
ROW FORMAT SERDE
'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
WITH SERDEPROPERTIES (
'field.delim'=',',
'serialization.format'=',')
STORED AS INPUTFORMAT
'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
**LOCATION
'hdfs://quickstart.cloudera:8020/user/hive/warehouse/ramesh.db/test'**
TBLPROPERTIES (
'COLUMN_STATS_ACCURATE'='false',
'numFiles'='0',
'numRows'='-1',
'rawDataSize'='-1',
'totalSize'='0',
'transient_lastDdlTime'='1510257748')
Time taken: 0.044 seconds, Fetched: 21 row(s)