如何在我的代码中使用私有函数[mllib]?

时间:2014-11-27 15:08:39

标签: scala apache-spark cluster-analysis private apache-spark-mllib

我开始使用spark,特别是使用mllib库。其中一些功能的范围和私人陈述都有限。如何在我的代码中使用这些函数? 例: KMeans.scala

private[mllib] def pointCost(
      centers: TraversableOnce[BreezeVectorWithNorm],
      point: BreezeVectorWithNorm): Double =
    findClosest(centers, point)._2

如果我创建一个扩展kmeans并尝试使用此功能的类,则无法访问它。显示以下错误:

error: method MethodInClassKMeans in class KMeans cannot be accessed in myClass

任何人都可以举例说明如何解决这个问题吗? 谢谢和问候

1 个答案:

答案 0 :(得分:1)

如果您使用与要使用的类相同的命名空间,则可以访问私有[包]成员。

但是这些方法可能是私有的一个很好的理由:该方法可能会在下一个版本发布时消失。

因此,如果您需要一些小而孤立的东西,只需在许可证允许的情况下将代码复制到您的项目中。