CREATE TABLE databasename.t_d11 STORED AS ORC 语句报UnknownHostException: 错误

余生颓废 提交于 2020-01-12 06:02:31

在阿里云上,由于利用的是临时集群,用的rds的mysql来管理hive元数据,在跑任务时候遇到如下问题:

java.lang.IllegalArgumentException: java.net.UnknownHostException: emr-header-1.cluster-41729

注意这个 emr-header-1.cluster-41729 ,这是一个ip的域名,于是查看hosts文件

vi /etc/hosts

在这里插入图片描述并没有发现 emr-header-1.cluster-41729
由于写代码 使用:

CREATE TABLE dmp.t_d11
STORED AS ORC
SELECT ***

这样的sql写的, dmp默认是个内部表
使用如下命令查看dmp库

desc database dmp; 
Database Name dmp
Description 
Location hdfs://emr-header-1.cluster-41729:9000/user/hive/warehouse/dmp.db
Time taken: 2.012 seconds, Fetched 3 row(s)
20/01/06 19:13:25 INFO [main] SparkSQLCLIDriver: Time taken: 2.012 seconds, Fetched 3 row(s)

问题基本找到,hive元数据中,dmp中内部表默认保存路径为:

hdfs://emr-header-1.cluster-41729:9000/user/hive/warehouse/dmp.db

于是登录 rds的mysql库,修改源数据库hive库中的dbs表
修改sql如下:

update hive.dbs set DB_LOCATION_URI = 'oss://ddf/hivedfd/dmp/dmp.db' where name='dmp';

修改完以后,问题解决

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!