hive select 出现问题 SemanticException

Posted yjt1993

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hive select 出现问题 SemanticException相关的知识,希望对你有一定的参考价值。

由于把hadoop的以下配置项

<property>

<name>fs.defaultFS</name>

<value>hdfs://localhost:9000</value>

</property>

改为

<property>

<name>fs.defaultFS</name>

<value>hdfs://192.168.65.128:9000</value>

</property>

导致hive select的时候出现以下错误:

SemanticException Unable to determine if hdfs://localhost:9000/user/hive/warehouse/t1.db/student is encrypted: org.apache.hadoop.hive.ql.metadata.HiveException: java.net.ConnectException: Call From localhost/127.0.0.1 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused

这种情况一般是hive的数据存储路径不对,直接去mysql里修改hive的原数据就可以:

mysql执行如下命令:

use hive;

update DBS set DB_LOCATION_URI=REPLACE (DB_LOCATION_URI,‘localhost‘,‘192.168.65.128‘)

update SDS set LOCATION=REPLACE (LOCATION,‘localhost‘,‘192.168.65.128‘);



借鉴:

以上是关于hive select 出现问题 SemanticException的主要内容,如果未能解决你的问题,请参考以下文章

hive/spark写入保存出现小文件过多的解决

Hive 使用问题记录(未完...)

如何在 Hive 中构建正则表达式以获取字符串,直到第 N 次出现分隔符

如何编写查询以避免在 select distinct 和 size collect_set hive 查询中使用单个 reducer?

Hive on Tez 出现的bug 及原因解析

hive UNION和子查询