hive创建外部表时,使用location关键字为什么会报错,该怎么办

  hive创建外部表时,使用location关键字时,系统没有报错,show tables 时,能够显示已经创建成功表。但是,在hdfs目录中没有形成表目录。drop table时,也没有提示投入回收站这一项。经验证,发现除location关键字外,其他关键字均能正确创建表,并显示在hdfs目录中。朋友们又碰到过这种情况吗。以下是使用location关键字建表语言:
create table zhans(
id int,
name string,
age int,
fav array<string>,
addr map<string,string>)
row format delimited fields terminated by '\t'
collection items terminated by '-'
map keys terminated by ':'
stored as textfile
location 'hdfs://192.168.25.100:8020/root'

Location的作用:
指定加载数据路径(指定在hdfs上的位置).针对的extetnal外部表,要指定存储路径,不指定也没事,默认路径。内部表不用指定,默认路径/user/hive/warehouse

你好 可以看看这篇:

使用localtion关键字创建表的时候,指定的路径就是你数据所在的路径,他是不会再创建一个hdfs目录的,因为目录你已经指定好了。
查询的时候,hive会直接从你指定的路径下查询数据。

回复不易,如果我的回复对你有所帮助的话,请记得采纳哦~