【问题标题】:mapreduce Job() threw 'java.lang.IllegalStateException' exception. Cannot evaluate org.apache.hadoop.mapreduce.Job.toString()mapreduce Job() 抛出“java.lang.IllegalStateException”异常。无法评估 org.apache.hadoop.mapreduce.Job.toString()
【发布时间】:2016-03-30 14:39:58
【问题描述】:

我正在运行一个 Spark Streaming 程序,该程序使用 mapreduce 作业以 AvroParquet 格式写入文件。该程序在集群上运行正常,但在本地失败。

代码

import org.apache.hadoop.mapreduce.Job
val job = Job.getInstance()

抛出以下异常:

Method threw 'java.lang.IllegalStateException' exception. Cannot evaluate org.apache.hadoop.mapreduce.Job.toString()

这里是用于提交火花流作业的代码:

    SparkConf conf = new SparkConf(false)
                .setMaster("local[2]")
                .setAppName("test");
    SparkContext sc = new SparkContext(conf);
    MyClass job = new MyClass();
    job.run();

    class MyClass(){
    protected def run(): Unit ={

        val ssc: StreamingContext = createStreamingContext(parameters)
        // here there is something like 
        // stream.map(func1).reduceBykey(func2).foreachRDD(rdd => {val job = Job.getInstance()})
        ssc.start()
    }

【问题讨论】:

  • 您是否也在本地使用 spark-submit 提交作业?
  • 不,我已经编辑了问题来解释它。

标签: scala hadoop apache-spark mapreduce


【解决方案1】:

这很可能是因为它在提交之前尝试在您的作业上调用 toString。

不要手动创建 Job 实例,而是尝试使用 spark-submit --class MyClass --master local[2] /path/to/yourjar.jar (Submitting spark applications) 提交它

您的代码可能如下所示:

object MyClass {
    def main(args: Array[String]): Unit ={
    val conf = new SparkConf(false)
            .setMaster("local[2]")
            .setAppName("test");
    val sc = new SparkContext(conf);

    // do what you need
}

【讨论】:

    【解决方案2】:

    我发现这是一个非阻塞异常。 我可以在调试模式下看到异常,但程序可以正确执行到最后。

    【讨论】:

      【解决方案3】:

      由于idea,它会自动处理toString。需要在idea的debugger中设置,去掉header string自动处理的勾选。这里应该是“builder, exception, deployer”。

      【讨论】:

      • 我不明白上面idea的用法:你打算IDE吗?我没有看到 IntelliJ IDEA 属于图片的迹象。
      • facebook.com/jingqing.peng.16”是我的 Facebook 链接!我们可以详细展示。
      猜你喜欢
      • 2020-04-30
      • 1970-01-01
      • 2022-01-13
      • 2017-08-06
      • 2012-04-23
      • 2023-04-08
      • 2018-10-18
      • 2012-08-22
      • 2021-01-10
      相关资源
      最近更新 更多