【问题标题】:How can I use private functions[mllib] in my code?如何在我的代码中使用私有函数[mllib]?
【发布时间】:2015-01-26 05:34:57
【问题描述】:

我开始使用 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

谁能给我一些如何解决这个问题的例子? 谢谢和问候

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-11
      • 2018-08-15
      • 2015-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-26
      • 2023-03-07
      相关资源
      最近更新 更多