欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Hive建表的Location问题

程序员文章站 2022-03-08 09:50:38
...

最近公司在使用Hive做项目测试,所以就在Hive上面建了一些表,做测试。

使用建表语句后发现数据被自动覆盖了,现在了解到的情况是这样的。

 

Hive中,表的Metadata信息全部存储在MySQL中。

而存储在MySQL中的数据是没有校验过程的。

也就是说,你可以创建一个逻辑错误的表,两个表指向同一个HDFS文件也是有可能的。

 

所以,在使用CREATE TABLE的时候,LOCATION必须要指定成

Path/表名

如:

create table choice(
userid int,
classname string)
row format delimited fields terminated by '\t'
LOCATION '/data/test01/dacoolbaby/choice'
;

 

否则在使用LOAD LOCAL DATA INPATH 命令加载本地数据的时候,

数据会互相覆盖。

 

 

相关标签: Hive