当前位置:   article > 正文

hive 中的location_hive location

hive location

hive

##官方注释
LOCATION一般与外部表(EXTERNAL)一起使用。一般情况下hive元数据默认保存在<hive.metastore.warehouse.dir>中。
EXTERNAL表指向其存储的任何HDFS位置,而不是存储在configuration属性指定的文件夹中hive.metastore.warehouse.dir
如:

CREATE EXTERNAL TABLE page_view (viewTime INT, 
     userid BIGINT,
     page_url STRING,
     referrer_url STRING,
     ip STRING COMMENT 'IP Address of the User',
     country STRING COMMENT 'country of origination')
 COMMENT 'This is the staging page view table'
 ROW FORMAT DELIMITED FIELDS TERMINATED BY '\054'
 STORED AS TEXTFILE
 **LOCATION** '<hdfs_location>';
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

自己虚拟机hive建表
hive版本号:2.1.1
指定 LOCATION建表,建表语句:

Create external table orders(orderID INT,
CustID INT,
OrderTotal FLOAT, 
OrderNumItems INT, 
OrderDesc STRING)
row format 
delimited FIELDS TERMINATED BY ',' 
STORED AS TEXTFILE 
LOCATION '/my/path/to/csv'
tblproperties ("skip.header.line.count"="1");
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

创建成功
查看hdfs有无此路径

在这里插入图片描述
路径存在!
查看默认元数据目录是否存在此表:
在这里插入图片描述
默认元数据目录什么也没有。

不指定 LOCATION建表,语句如下:

Create external table orders_no_location(orderID INT,
CustID INT,
OrderTotal FLOAT, 
OrderNumItems INT, 
OrderDesc STRING)
row format 
delimited FIELDS TERMINATED BY ',' 
STORED AS TEXTFILE 
tblproperties ("skip.header.line.count"="1");
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

创建成功!
查看元数据目录:
在这里插入图片描述
默认元数据目录出现此表!
查看之前修改的位置:
在这里插入图片描述
还是之前建立指定的位置

总结:LOCATION修改hive表元数据默认存储位置。
默认存储:hive.metastore.warehouse.dir

注意:
这个字段的适用场景是:数据已经存在HDFS上不能移动位置了,那么就通过这个字段让表可以直接读到这份数据。另外,要注意建表的时候,应该让表变成外部表。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/692459
推荐阅读
相关标签
  

闽ICP备14008679号