在使用Spark作业服务器运行Spark SQL作业时出现“无效的作业类型”错误。

4
我使用Spark作业服务器创建了一个Spark SQL作业,并按照以下示例使用HiveContext: https://github.com/spark-jobserver/spark-jobserver/blob/master/job-server-extras/src/spark.jobserver/HiveTestJob.scala 我能够启动服务器,但是当我运行我的应用程序(它是一个扩展了SparkSqlJob的Scala类)时,我收到以下响应:
{
   "status": "ERROR",

   "result": "Invalid job type for this context"
 }

有人能建议我出了什么问题或提供详细的过程来设置SparkSQL的作业服务器吗?

以下是代码:

import com.typesafe.config.{Config, ConfigFactory}
import org.apache.spark._
import org.apache.spark.sql.hive.HiveContext
import spark.jobserver.{SparkJobValid, SparkJobValidation, SparkHiveJob}

object newHiveRest extends SparkHiveJob {


  def validate(hive: HiveContext, config: Config): SparkJobValidation = SparkJobValid

  def runJob(hive: HiveContext, config: Config): Any = {

    hive.sql(s"use default")
    val maxRdd = hive.sql(s"select count(*) from 'default'.'passenger'")

    maxRdd.count()
  }
}

作业服务器的日志如下: scala.runtime.AbstractPartialFunction$mcVL$sp.apply$mcVL$sp(AbstractPartialFunction.scala:33) scala.runtime.AbstractPartialFunction$mcVL$sp.apply(AbstractPartialFunction.scala:33) 在org.apache.spark.SparkContext$$anonfun$assertNoOtherContextIsRunning$1.apply(SparkContext.scala:2083) 在org.apache.spark.SparkContext$$anonfun$assertNoOtherContextIsRunning$1.apply(SparkContext.scala:2065) 在scala.Option.foreach(Option.scala:236) 在org.apache.spark.SparkContext$.assertNoOtherContextIsRunning(SparkContext.scala:2065) - Robin
1个回答

0

感谢Noorul的帮助!我实际上使用了HiveContext类。所以我创建了一个扩展SparkHiveJob的作业。但是它失败了。我在评论中发布了作业服务器的错误日志。 - Robin
从异常信息来看,我认为它在Spark中断言超过一个上下文时失败了。你能验证一下吗? - noorul
请参考问题中发布的代码。我没有创建任何sparkContext,只是在SparkHiveJob中使用HiveContext实例。 - Robin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接