hiveql—当我们创建没有位置属性的配置单元外部表时,数据将存储在何处

jqjz2hbq  于 2021-06-26  发布在  Hive
关注(0)|答案(2)|浏览(264)

我创建了没有任何位置的外部表。现在,即使我们删除了表,数据也将存储在何处。

CREATE EXTERNAL TABLE forest(
  animal string,
  food string)
6ju8rftf

6ju8rftf1#

创建不带out位置的外部表时,数据将存储在配置单元默认位置。通常 /apps/hive/warehouse/<database_name>.db/<table_name> .
如果您在测试数据库中创建表,您的配置单元位置将是

/apps/hive/warehouse/test.db/forest

如果删除表,则可以在此位置找到数据。使用命令 show create table forest; 如果你没有把它丢在地上,它会告诉你具体位置。

7lrncoxx

7lrncoxx2#

如果不指定外部表的位置,它将存储在默认的配置单元仓库位置下。
参见下面的示例。

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)

相关问题