脚本的unittest代码
"execute" should "Script should write data in expected path " in {
implicit val mockDataHandler: DataHandler = MockDataGenerator.getMockDataHandler(spark)
implicit val dataProvier: DataProvider = PrepareData()
val script = new Script()
script.execute(spark, Array(arg1, arg2))
val outputPath = ArgumentCaptor.forClass(ClassOf[String])
val dfCapture = ArgumentCaptor.forClass(ClassOf[DataFrame])
verify(mockDataHandler, times(1)).saveAsAvrodfCapture.capture(), outputPath.capture())
assert(outputPath.getValue.equals(path))
}
我尝试对一个脚本运行单元测试,该脚本以avro格式将数据写入输出路径。遇到以下错误: java.lang.IncompatibleClassChangeError: Found interface org.apache.hadoop.mapreduce.TaskAttemptContext, but class was expected
我见过类似的查询并尝试应用这些查询 avroMapred:******1.7.7:hadoop2
其他一些答案谈到了maven依赖关系,并在其中添加了额外的分类器行,我对这些不太了解。我对这项工作不熟悉。所以请帮我弄清楚一点。
暂无答案!
目前还没有任何答案,快来回答吧!