我正在为我的火花应用程序编写单元测试。我用powermockito来测试转换。 当我运行junit测试时,我得到了错误,
2016-03-24 17:10:10:805 INFO - Running Spark version 1.6.0
2016-03-24 17:10:11:479 WARN - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
2016-03-24 17:10:11:586 ERROR - Can't find user in Subject:
Principal: NTUserPrincipal: My_userNAME
Principal: NTSidUserPrincipal: S-1-5-21-1082354718-1040695487-3441060932-16865
Principal: NTDomainPrincipal: MY_DOMAIN
.............
...........
Public Credential: NTNumericCredential: 1872
当我删除powermockito的udage时,上述错误消失了。我不知道为什么powermockito没有进行spark rdd转换。
答案 0 :(得分:1)
我也遇到了同样的问题。我找到了解决方案,主要问题在于PowerMockRunner和spark session。这可以通过添加
来纠正@PowerMockIgnore({"org.apache.hadoop.*","javax.*","com.sun.org.apache.*"})
它对我有用。仍然如果您遇到一些错误,请尝试找出正在调用的内部类,最后忽略它。
答案 1 :(得分:0)
@PowerMockIgnore() 将以下依赖项添加到我的 build.gradle 文件中
// https://mvnrepository.com/artifact/com.holdenkarau/spark-testing-base 测试实施组:'com.holdenkarau',名称:'spark-testing-base_2.11',版本:'2.1.0_0.7.4'