太阳暖身不暖人心i 2021-11-17 10:55 采纳率: 0%
浏览 12
已结题

请教一下各位,Scala项目测试模块一直报构造函数异常,代码没有问题,还会有什么原因


trait TestBase extends TestCase with Logging {

    // 创建JavaSparkContext上下文
    val appCtx = new JavaSparkContext(new SparkContext(new SparkConf().setAppName("test").setMaster("local")))
    val sc = appCtx.sc
   // val path =  getClass.getResource("/").getPath.replace("bin/", "resources/")
    val path = "C:\\xiangmu\\out\\production\\ScalaTest1"
    Const.ROOT_PATH =  if(path.endsWith("/")) path.substring(0, path.length -1) else path
    Const.IS_DEBUG = true

    // 默认的请求参数
    val argument = new Argument(
        "token",
        "cn",
        "sdr_XXX_circle",
        "201810100000_201810110000",
        Map[String, Array[String]](),
        Map("cpu" -> "30", "mem" -> "10000"),
        Map("batchno" -> "20000"))

    val execArgs = new ExecArgument(
        "sdr_XXX_circle",
        "201810100000_201810110000",
        Map[String, Array[String]]()
    )

    // 隐式的将Argument转换为String
    implicit def argument2String(arg: Argument) = {
        Console println arg.toString
        arg.toString
    }

    // 隐式的将Argument转换为String
    implicit def execArgument2String(arg: ExecArgument) = {
        Console println arg.toString
        arg.toString
    }

    /**
     * 获取输入数据时间段
     * @param year
     * @param month
     * @param day
     */
    def getPeriodTime(year: Int, month: Int, day: Int) = {
        val sdf = new SimpleDateFormat("yyyyMMddHHmm")
        val begin = Calendar.getInstance()
        begin.set(year, month - 1, day, 0, 0, 0)
        val beginStr = sdf.format(begin.getTime)
        begin.add(Calendar.DAY_OF_MONTH, 1)
        val endStr = sdf.format(begin.getTime)
        s"${beginStr}_${endStr}"
    }

    /**
     * 获取测试数据完整路径
     * @param fileName
     */
    def travelPath(fileName: String): Array[String] = {
        travelPathInner(s"${Const.CALC_INPUT_PATH}\\cn\\${fileName}").map(path => path.replace("\\", "/"))
    }

    private def travelPathInner(filePath: String): Array[String] = {
        val file = new File(filePath)
        if (file.exists()) {
            if (file.isDirectory) {
                val files = file.listFiles().map(_.getCanonicalPath).filter(_.endsWith(".dat"))
                files ++ file.listFiles().map(_.getCanonicalPath).filter(!_.endsWith(".dat")).flatMap(path => travelPathInner(path))
            } else {
                Array(file.getCanonicalPath).filter(_.endsWith(".dat"))
            }
        } else {
            Array[String]()
        }
    }

    /**
     * 获取注入任务执行结果
     * @param job
     * @return
     */
    def getResult(job: IInjectedJob) = {
        val map = job.process(null, null)
        map.get("result").toBoolean
    }

img

  • 写回答

2条回答 默认 最新

  • 太阳暖身不暖人心i 2021-11-18 11:40
    关注

    具体原因现在发现是val appCtx = new JavaSparkContext(new SparkContext(new SparkConf().setAppName("test").setMaster("local")))失败,创建JavaSparkContext上下文环境初始化失败

    评论

报告相同问题?

问题事件

  • 系统已结题 11月25日
  • 创建了问题 11月17日

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!