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 中构建正则表达式以获取字符串,直到第 N 次出现分隔符
如何编写查询以避免在 select distinct 和 size collect_set hive 查询中使用单个 reducer?