gpt4 book ai didi

java - Clojure:将 Spark 工厂方法与 Java 互操作结合使用

转载 作者:行者123 更新时间:2023-11-29 04:58:02 26 4
gpt4 key购买 nike

我认为这是一个 Java 互操作问题,但也许这是 Spark 的细微差别(或者未能从 Scala 导入某些内容?)。我正在尝试按照示例 here 进行操作.它包括以下代码:

import org.apache.spark.mllib.linalg.Vector;
import org.apache.spark.mllib.linalg.Vectors;
Vector dv = Vectors.dense(1.0, 0.0, 3.0);

我的第一个想法是:

(import '[org.apache.spark.mllib.linalg Vector Vectors])
(Vectors/dense 1.0 0.0 3.0)

但是我得到:

CompilerException java.lang.IllegalArgumentException: No matching method: dense, compiling:(/tmp/form-init6598386874684927469.clj:1:1)

我试过:

(.dense (Vectors. 1.0 0.0 3.0))

得到:

CompilerException java.lang.IllegalArgumentException: No matching ctor found for class org.apache.spark.mllib.linalg.Vectors, compiling:(/tmp/form-init6598386874684927469.clj:1:9)

我已经尝试了各种额外的组合( vector 、Java 数组、.. 宏等),但无法使其正常工作。特别是,即使文档显示了一个不带参数的构造函数(参见 here),(Vectors.) 似乎都不起作用(a No匹配构造函数) 错误。谢谢。

最佳答案

您是否尝试过(Vectors/dense (double-array [1.0 0.0 3.0]))?我自己没有对此进行测试,但它应该与 Vectors 中的 Vector dense (double[] values) 方法匹配。 .

关于java - Clojure:将 Spark 工厂方法与 Java 互操作结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33060174/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com