Apache spark Spark:本地主机上的执行器驱动程序丢失
我运行了一个Spark应用程序,它获取一个mysql表(3000万行),并查找模式Apache spark Spark:本地主机上的执行器驱动程序丢失,apache-spark,Apache Spark,我运行了一个Spark应用程序,它获取一个mysql表(3000万行),并查找模式 val sqlContext = new SQLContext(sc) sqlContext .read.format("jdbc").option("driver", "com.mysql.jdbc.Driver") .option("url", url) .option("dbtable", "MyTable") .option("user", "MyUser").option("passw
val sqlContext = new SQLContext(sc)
sqlContext
.read.format("jdbc").option("driver", "com.mysql.jdbc.Driver")
.option("url", url)
.option("dbtable", "MyTable")
.option("user", "MyUser").option("password", "MyPwd")
.load().registerTempTable("MyTable")
def getPattern(patent: String) = patent.replaceAll("\\d", "d")
sqlContext.sql("select distinct(code) from MyTable")
.map(_.getString(0))
.groupBy(getPattern)
.mapValues(_.size)
.saveAsTextFile("/tmp/result")
我正在本地主机上运行应用程序。应用程序失败,原因是:
2016-09-30 15:11:47,812 [dispatcher-event-loop-4] WARN HeartbeatReceiver - Removing executor driver with no recent heartbeats: 129149 ms exceeds timeout 120000 ms
2016-09-30 15:11:47,819 [dispatcher-event-loop-4] ERROR TaskSchedulerImpl - Lost executor driver on localhost: Executor heartbeat timed out after 129149 ms
为什么会这样?这是记忆问题吗
这是mysql连接的问题吗
我知道我可以用
.map(getPattern).countByValue
替换.groupBy(getPattern).mapValues(u.size)
,使其更有效,并可能避免错误。然而,这个问题是关于理解错误的。你曾经得到过这个问题的答案吗(在这里或其他地方)?我也有类似的问题。。。。。。。。。