我有一个方法,它的语句读取csv文件并将rdd返回为:
public void method(DataFrameReader sparkDataFrameReader){
JavaRDD<Row> result = FileReader.readCsv(sparkDataFrameReader);
//do some operation with the result obtained
}
readcsv加载csv并在实际程序中返回javardd。
注: DataFrameReader FileReader = spark.read().format("csv").option(HEADER, "true");
我正在用mockito和springboot为方法编写一个单元测试。因此需要mock readcsv来返回javardd,其中包含一些模拟数据。
如何模拟readcsv以在mockito中返回javardd??
我还尝试创建一个本地sparksession,正如我在其他帖子中看到的那样,创建一个本地sparksession并继续,但在使用mockito创建本地sparksession时出错:
@Test
public void method() throws Exception {
SparkSession spark = SparkSession.builder().appName("Build a DataFrame from Scratch").master("local[*]").getOrCreate();
sparkDataFrameReader = session.read().format("csv").option(HEADER, "true");
obj.method(sparkDataFrameReader);
}
我得到的错误是:
ERROR UserGroupInformation Can't find user in Subject:
Principal: UnixPrincipal: testuser
Principal: UnixNumericUserPrincipal: 503
Principal: UnixNumericGroupPrincipal [Primary Group]: 20
Principal: UnixNumericGroupPrincipal [Supplementary Group]: 501
Principal: UnixNumericGroupPrincipal [Supplementary Group]: 12
Principal: UnixNumericGroupPrincipal [Supplementary Group]: 61
Principal: UnixNumericGroupPrincipal [Supplementary Group]: 98
Principal: UnixNumericGroupPrincipal [Supplementary Group]: 100
Principal: UnixNumericGroupPrincipal [Supplementary Group]: 204
Principal: UnixNumericGroupPrincipal [Supplementary Group]: 702
Principal: UnixNumericGroupPrincipal [Supplementary Group]: 701
java.io.IOException: failure to login
问题:我可以模拟readcsv来返回包含一些数据的javardd吗?否则,我如何创建一个本地sparksession连同mockito?
暂无答案!
目前还没有任何答案,快来回答吧!