欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > 遇到问题:hive中的数据库和sparksql 操作的数据库不是同一个。

遇到问题:hive中的数据库和sparksql 操作的数据库不是同一个。

2024/12/22 14:05:40 来源:https://blog.csdn.net/m0_57764570/article/details/144214952  浏览:    关键词:遇到问题:hive中的数据库和sparksql 操作的数据库不是同一个。

遇到的问题:

1、hive中的数据库和sparksql 操作的数据库不同步。

观察上面的数据库看是否同步 !!!

2、查询服务器中MySQL中hive的数据库,发现创建的位置没有在hdfs上,而是在本地。

 

这个错误产生的原因是:

你使用sparksql创建了数据库,没有使用hive界面创建。理论讲不管哪个进行创建都应该没问题,sparksql创建数据库有问题,说明spark的集群配置有问题,需要检查。

检查两个方面:

1)spark的yarn集群是否遗漏什么配置

2)spark连接hive有问题

正确界面应该如下所示:

上述截图创建的位置是在hdfs上  同步的!!!观察你的是否这样?

解决办法:

如果你的不同步,可以试一下如下这个办法。

1、在hive 下修改hive-site.xml

<property><name>hive.metastore.schema.verification</name><value>false</value></property>

2、将hive-site.xml 复制到 spark的conf 下

cp /opt/installs/hive/conf/hive-site.xml /opt/installs/spark/conf

3、修改spark下的hive-site.xml

<property><name>hive.server2.thrift.port</name><value>10001</value><description>Port number of HiveServer2 Thrift interface when hive.server2.transport.mode is 'binary'.</description></property>

4、接着分发一下(这里用到了分发脚本xsync.sh):

xsync.sh /opt/installs/spark/conf/hive-site.xml

5、重启thrift服务:

#停止
/opt/installs/spark/sbin/stop-thriftserver.sh#启动
/opt/installs/spark/sbin/start-thriftserver.sh 
--hiveconf hive.server2.thrift.port=10001 
--hiveconf hive.server2.thrift.bind.host=bigdata01 
--master yarn 
--conf spark.sql.shuffle.partitions=2

使用datagrip 重新连接一下,记得刷新一下连接。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com