解决:问题spark-sumbit的时候报错:Exception
2019-01-24 本文已影响0人
Sam_L
问题由来:
进行HIveContext使用的时候,一切都很正常。。。。
hive里有一张dept 的表
记得pom里添加依赖:
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-hive_2.11</artifactId>
<version>${spark.version}</version>
</dependency>
IDEA
import org.apache.spark.SparkContext
import org.apache.spark.SparkConf
import org.apache.spark.sql.hive.HiveContext
object HiveContextApp {
def main(args: Array[String]): Unit = {
//1)创建相应的Context
val sparkConf = new SparkConf()
//sparkConf.setAppName("HiveContextApp").setMaster("local[2]")
val sc = new SparkContext(sparkConf)
val hiveContext = new HiveContext(sc)
//2)相关处理--读hive里的表,简单的show一下
hiveContext.table("dept").show
//3)关闭资源
sc.stop()
}
}
【打包编译到生产环境,提交作业的时候问题来了。。。笨笨滴花了好几个小时,好在坚持一下解决啦】
该启动的你要启动好啦!!!!
执行提交我的脚本
spark-submit \
--class com.cbt.spark.HiveContextApp \
--master local[2] \
--jars /home/hadoop/software/mysql-connector-java-5.1.46-bin.jar \
/home/hadoop/lib/sql-1.0.jar
报错:Exception in thread "main" org.apache.spark.sql.catalyst.analysis.NoSuchTableException: Table or view 'dept' not found in database 'default';
解决:
把hive的配置文件hive-site.xml 复制粘贴到编译过后的spark中的conf下面,然后在进行重新提交,OK~~~就获取到dept表 的数据啦~

<文末彩蛋>
如果通过spark-shell访问hive的时候,查看到表是空的---也是这个原因