请稍等 ...
×

采纳答案成功!

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

请问,为什么spark-sql里show tables有表,spark-submit提交job里没有表?

因为课程里都是用 spark-sql --master local[2] 本地模式来操作的,我这边尝试用 spark://hadoop-web:7077 连接后发现有些问题


spark-sql --master spark://hadoop-web:7077

show tables

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

有表数据,但是我在scala上:

val spark = SparkSession.builder().appName("HiveMysqlApp").master("spark://hadoop-web:7077").getOrCreate()
spark.sql("show tables").show()

本地执行后,一直没有结果:

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

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

18/06/21 11:27:26 WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources

看样子是在申请资源,看了他的状态是RUNNING,并不是WAITING。

然后我用 mvn clean package -DskipTest  把jar包放在虚拟机里面用:

[hadoop@hadoop-web bin]$ ./spark-submit --class com.spark.HiveMysqlApp --master spark://hadoop-web:7077 /home/hadoop/jar/sql-1.0.jar

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

又没有表了,请问这个是怎么回事?



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

1回答

Michael_PK 2018-06-21 12:14:42

1)你那个是没有资源能用了 2)你要在spark submit提交的时候你看下hivesite是否带上去了,如果没带上去肯定就没有表能给你访问到,因为spark取读取已有的数据是通过访问hivesite去访问的

0 回复 有任何疑惑可以回复我~
  • 提问者 YsMuMu #1
    请问老师:
    我在spark-submit上加上了--file参数,指定了 hive-site.xml
    
    ./spark-submit --class com.spark.HiveMysqlApp --master spark://hadoop-web:7077 /home/hadoop/jar/sql-1.0.jar --file /data/app/spark-2.1.0-bin-2.6.0-cdh5.7.0/conf/hive-site.xml
    
    但是还是没有表。
    
    我通过以下两种方式连接都是没有问题的。
    spark-shell --master spark://hadoop-web:7077
    spark-sql --master spark://hadoop-web:7077
    
    难道我还需要去哪里额外配置 hive-site.xml 吗?
    
    找到了一篇类似的文章,但是不是特别懂,说是需要 org.apache.spark.sql.hive.HiveContext 去代替原来的sqlContext。
    
    http://mail-archives.apache.org/mod_mbox/spark-user/201506.mbox/%3C5577F2A8.6000604@gmail.com%3E
    
    http://mail-archives.apache.org/mod_mbox/spark-user/201506.mbox/%3CCAK18kC9AJNVp+thFTkeWUrYOcVCDsUpMzBVBwqSFDsvWUee+BQ@mail.gmail.com%3E
    回复 有任何疑惑可以回复我~ 2018-06-21 14:20:35
  • 提问者 YsMuMu #2
    http://mail-archives.apache.org/mod_mbox/spark-user/201506.mbox/%3C5577F2A8.6000604@gmail.com%3E
    
    和 
    http://mail-archives.apache.org/mod_mbox/spark-user/201506.mbox/%3CCAK18kC9AJNVp+thFTkeWUrYOcVCDsUpMzBVBwqSFDsvWUee+BQ@mail.gmail.com%3E
    回复 有任何疑惑可以回复我~ 2018-06-21 14:22:01
  • 对,代码一定要用hive context,因为spark SQL或者shell默认就是hive context
    回复 有任何疑惑可以回复我~ 2018-06-21 14:40:55
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信