我有两个实体,如A和B,这样:
class B {
private Integer id;
private String field1;
private String field2;
// getters and setters
}
class A {
private Date date;
//one to one mapping is there between A and B
private B b;
//getters and setters
}
Run Code Online (Sandbox Code Playgroud)
我有一个spring数据存储库,以便:
@Query("from A a where a.date= :date and a.b.id =:#{#b.id}")
A findByBAndDate(@Param(value = "date") Date date,@Param(value = "b") B b);
Run Code Online (Sandbox Code Playgroud)
但我得到了例外,no parameter binding found for name b!.
但是,如果我将上述查询修改为:
@Query("from A a where a.b.id =:#{#b.id}")
A findByB(@Param(value = …Run Code Online (Sandbox Code Playgroud) 我正在阅读“Spark The Definitive Guide”,我在 MLlib 章节中遇到了一个代码部分,其中包含以下代码:
var df = spark.read.json("/data/simple-ml")
df.orderBy("value2").show()
import org.apache.spark.ml.feature.RFormula
// Unable to understand the interpretation of this formulae
val supervised = new RFormula().setFormula("lab ~ . + color:value1 + color:value2")
val fittedRF = supervised.fit(df)
val preparedDF = fittedRF.transform(df)
preparedDF.show()
Run Code Online (Sandbox Code Playgroud)
其中 /data/simple-ml 包含一个 JSON 文件,其中包含(例如):-
“实验室”:“好”,“颜色”:“绿色”,“值1”:1,“值2”:14.386294994851129 “实验室”:“坏”,“颜色”:“蓝色”,“值1”:8,”值2":14.386294994851129"实验室":"坏","颜色":"蓝色","值1":12,"值2":14.386294994851129"实验室":"好","颜色":"绿色","值1" :15,“值2”:38.9718713375581
您可以在https://github.com/databricks/Spark-The-Definitive-Guide/blob/master/data/simple-ml/part-r-00000-f5c243b9-a015-4a3b-a4a8-找到完整的数据集eca00f80f04c.json 及以上行产生的输出为:-
[绿色,好,1,14.386294994851129, (10,[0,2,3,4,7],[1.0,1.0,14.386294994851129,1.0,14.386294994851129]) ,0.0]
[蓝色,坏,8,14.38629499485112 9、(10 ,[2,3,6,9],[8.0,14.386294994851129,8.0,14.386294994851129]) ,1.0]
[蓝色,坏,12,14.386294994851129, (10,[2,3,6,9],[12.0,14.38629499 4851129 ,12.0,14.386294994851129]) ,1.0]
[绿色,好,15,38.97187133755819, (10,[0,2,3,4,7],[1.0,15.0,38.97187133755819,15.0,38.9718713375581 9]) ,0.0]
现在我无法理解它如何计算第五列(以粗体标记)列值。
classification machine-learning apache-spark apache-spark-mllib
apache-spark ×1