请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

其他database下的table不知为何找不到?

我新建了一个名叫hive的database,并将emp的数据导入到了表emp2里。
然后参数填写的 hive.emp2。不过运行时提示无法找到,看了下错误信息,db=hive和tbl=emp2 ,感觉传入的参数应该是对的吧?
(参数填写为 default.emp的话,能够成功找到default下的emp表。)
图片描述
图片描述

正在回答 回答被采纳积分+3

插入代码

1回答

Michael_PK 2019-09-06 00:08:24

你hive site配置文件是否已经在spark home的conf下了?

0 回复 有任何疑惑可以回复我~
  • 提问者 ssiu #1
    因为编译太慢,直接用的你提供的ootb镜像,我去确认了下是有这个配置文件的。
    然后我发现直接用spark-sql命令行的话,database似乎也只有default这一个,如果在spark-sql里reate database,在hive那边也不会生成。
    回复 有任何疑惑可以回复我~ 2019-09-06 10:51:17
  • Michael_PK 回复 提问者 ssiu #2
    那就是和底层元数据没有打通,确认hivesite里面的连接的MySQL是否通
    回复 有任何疑惑可以回复我~ 2019-09-06 11:28:40
  • 提问者 ssiu 回复 Michael_PK #3
    确实是hivesite的设置问题。不过我还有个问题想要请教下,因为spark链接hive时也遇到了hive的编码问题,我网上查的资料是说hive需要使用latin1作为编码?我实际测试后感觉,先在mysql里创建一张编码为latin1的database,再用hive连上去,似乎比用hive自动生成,再去mysql修改字符集方便些?不知道实际工作上是怎么处理的?
    回复 有任何疑惑可以回复我~ 2019-09-06 16:46:32
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信