【问题标题】:Spark unit testing not working with powermockitoSpark 单元测试不适用于 powermockito
【发布时间】:2016-03-24 11:45:34
【问题描述】:

我正在为我的 spark 应用程序编写单元测试。我使用 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 转换。

【问题讨论】:

  • 可以粘贴示例代码吗?

标签: unit-testing apache-spark powermock rdd


【解决方案1】:

我也遇到了同样的问题。我找到了解决方案,主要问题是 PowerMockRunner 和 spark 会话。这可以通过添加来纠正

@PowerMockIgnore({"org.apache.hadoop.*","javax.*","com.sun.org.apache.*"})

它对我有用。仍然如果遇到一些错误,请尝试找出正在调用的内部类,最后忽略它。

【讨论】:

    【解决方案2】:

    @PowerMockIgnore() 使用以下依赖项添加到我的 build.gradle 文件中

    // https://mvnrepository.com/artifact/com.holdenkarau/spark-testing-base testImplementation 组:'com.holdenkarau',名称:'spark-testing-base_2.11',版本:'2.1.0_0.7.4'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-22
      • 2019-03-21
      • 1970-01-01
      • 1970-01-01
      • 2016-11-13
      • 1970-01-01
      • 2018-03-01
      相关资源
      最近更新 更多