声明!本篇博客记录博主遇到的所有Spark相关的错误!
希望这篇博客能够帮助到你,如果你也有遇到Spark相关的错误,但苦于无法解决,可以私信博主,博主很乐意解决bug,但是不一定能解决!!!
(图片来源于网络,侵删)
错误【1】
提交Spark任务到Yarn上运行,得到如下报错信息👇
研究了一会儿发现是自己粗心大意导致的,自己在本地IDEA跑多了,打包的时候忘记删除setMaster
了,如下👇
虽然我们在提交任务到Yarn的时候,指定了Master,奈何在代码的优先级高于命令行指定参数,所以就算我们指定了Master也没有效果
所以删除了setMaster
这个属性就可以了
警告【2】
Standalone集群(cluster)模式下提交任务的1个警告
Warning: Master endpoint spark://node01:7077 was not a REST server.
Falling back to legacy submission gateway instead.
在standalone集群模式下,有两个提交网关:
1.使用org.apache.spark.deploy.Client作为包装器来使用传统的RPC网关
2.Spark 1.3中引入的基于rest的网关
第二种方法是Spark 1.3的默认行为,但是Spark submit将会失败
如果master不是一个REST服务器,那么它将无法使用REST网关。
if (args.isStandaloneCluster && args.useRest) {
try {
printStream.println("Running Spark using the REST application submission protocol.")
// 调用doRunMain()方法
doRunMain()
} catch {
// Fail over to use the legacy submission gateway
case e: SubmitRestConnectionException =>
printWarning(s"Master endpoint ${args.master} was not a REST server. " +
"Falling back to legacy submission gateway instead.")
args.useRest = false
submit(args)
}
// 其他模式,直接调用doRunMain方法
} else {
doRunMain()
}
错误【3】
今天在跑一个任务的时候,运行的时候报了如下错误👇
Error:(93, 23) No TypeTag available for String
spark.udf.register("Spider", (FlowID: String) => {
我Google了一下,发现把 String
改为 java.lang.String
就可以运行了
错误【4】
今天在配置Yarn的日志历史服务的时候,配置完成,想跑一个应用看一下效果,就使用了spark-shell --master yarn --deploy-mode client
这个命令,结果出现了如下错误👇
我看了下错误,先是去看了下报错信息的源码,结果没有找到我想看的东西,无奈只能去查阅一下资料,奈何找寻了半天还是没有找到解决方法
此时我就准备试试 spark-submit 提交一下官方案例,看一下yarn的日志,终于给我找到了原因所在,如下👇
没错,就是时间不同步的原因!!!
此时,我赶紧同步了一下时间 ntpdate ntp1.aliyun.com
然后再次提交官方案例,结果终于成功
了!!!
错误【5】
下面这个错误👇,原因要么就是没有创建视图表,要么就是创建了全局视图表,但是查询的时候没有在表名前面添加 global_temp
导致的
错误【6】
下面这个错误这个👇,原因就是想要导入隐式转换,SparkSession只能被val
修饰,var
不行!!!
错误【7】
今天在用SparkSQL操作Hive的时候,出现了以下错误👇
代码如上图
原因就是我使用了笛卡尔积,但是在Spark2.x中是笛卡尔积操作是不被允许的,默认关闭,如果想要开启,则添加如下配置:"spark.sql.crossJoin.enabled","true"
即可执行笛卡尔积操作!
错误【8】
最近在学习StructuredStreaming,但是很多人都运行代码时报错了,如下👇
我也是刚学,也不知道如何解决,所以我查阅了一些资料,主要是以下两个原因导致出现这个错误
原因1:缺少Hadoop环境
将hadoop.dll放到 Windows/system32目录下
原因2:权限不足
以管理员方式运行IDEA