请稍等 ...
×

采纳答案成功!

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

scala建表,hive查询为空

老师您好,我用scala命令spark.sql(“select pday,count(*) num from xtbl group by pday order by pday”).write.saveAsTable(“test1”)新建了一张test1表。之后用scala命令spark.table(“test1”).show()和sparksql都可以查到插入的数据内容。但是在hive里select查询出结果为空。

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

3回答

提问者 侧耳倾听17 2020-06-18 10:55:29

老师您好,我用spark-shell --master local[2] --jars /home/hadoop/software/mysql-connector-java-5.1.27-bin.jar启动scala,然后输入spark.sql("select pday,count(*) num from xtbl group by pday order by pday").write.saveAsTable("test1")

https://img1.sycdn.imooc.com/szimg/5eead5f0099f1e0910140364.jpg

输入spark.table("test1").show()可以看到查询结果

https://img1.sycdn.imooc.com//szimg/5eead65b09e32af906040451.jpg

用spark-sql --master local[2] --jars /home/hadoop/software/mysql-connector-java-5.1.27-bin.jar启动sparksql输入select * from test1可以看到查询结果

https://img1.sycdn.imooc.com/szimg/5eead6dc091407e706160402.jpg

启动hive,desc test1可以看到表结构

https://img1.sycdn.imooc.com/szimg/5eead71e095a5c2a10390197.jpg

在hive中输入select * from test1查询结果为空

https://img1.sycdn.imooc.com//szimg/5eead76309de7a6410390245.jpg

HDFS中文件格式是.snappy.parquet

https://img1.sycdn.imooc.com/szimg/5eead79e09ee2d1e10040420.jpg

0 回复 有任何疑惑可以回复我~
提问者 侧耳倾听17 2020-06-18 09:46:44

老师您好,之前安装spark时从hive拷贝了hive-site.xml文件,之前在hive里建表用scala和sparksql可查询出结果。scala里面没有做任何配置,是否要包mysql的jar包考入scala的lib文件夹。

0 回复 有任何疑惑可以回复我~
  • 重新描述下,什么叫Scala命令执行?你把你操作的所有流程全部截图描述下,我详细看下
    回复 有任何疑惑可以回复我~ 2020-06-18 10:20:09
Michael_PK 2020-06-18 09:06:16

你的spark和hive使用的是同一套元数据吗?问题肯定出在这里

0 回复 有任何疑惑可以回复我~
  • 提问者 侧耳倾听17 #1
    老师您好,之前安装spark时从hive拷贝了hive-site.xml文件,之前在hive里建表用scala和sparksql可查询出结果。scala里面没有做任何配置,是否要包mysql的jar包考入scala的lib文件夹。
    回复 有任何疑惑可以回复我~ 2020-06-18 09:50:41
  • 提问者 侧耳倾听17 #2
    Warning: fs.defaultFS is not set when running "chgrp" command.                  
    Warning: fs.defaultFS is not set when running "chmod" command. 
    scala写入时出现这两条Warning
    回复 有任何疑惑可以回复我~ 2020-06-18 09:55:36
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信