我绝对是Scala的初学者,我想在一些非常简单的示例上测试Spark MLlib的机器学习库。
我以MLlib主指南"Basic Statistics"的第一个示例为例,尝试使用IntelliJ IDEA在工作表中重现它,并完全按照SCALA documentation的描述进行了初始化,并正确导入了所有库依赖关系。 / p>
下面是代码:
import org.apache.spark.ml.linalg.{Matrix, Vectors}
import org.apache.spark.ml.stat.Correlation
import org.apache.spark.sql.Row
val data = Seq(
Vectors.sparse(4, Seq((0, 1.0), (3, -2.0))),
Vectors.dense(4.0, 5.0, 0.0, 3.0),
Vectors.dense(6.0, 7.0, 0.0, 8.0),
Vectors.sparse(4, Seq((0, 9.0), (3, 1.0)))
)
val df = data.map(Tuple1.apply).toDF("features")
val Row(coeff1: Matrix) = Correlation.corr(df, "features").head
println(s"Pearson correlation matrix:\n $coeff1")
val Row(coeff2: Matrix) = Correlation.corr(df, "features", "spearman").head
println(s"Spearman correlation matrix:\n $coeff2")
toDF出现问题:IntelliJ无法解析此符号,因此无法创建数据框。 我想确切地知道如何解决此问题。我尝试使用
val sqlContext= new org.apache.spark.sql.SQLContext(sc)
import sqlContext.implicits._
类似于SPARK/SQL:spark can't resolve symbol toDF中所述,但没有用。 继续学习并尝试MLlib指南的下一个示例,将非常感谢您提供确切的解决方案。
答案 0 :(得分:0)
我刚刚发现我必须正确初始化Spark会话。这是要添加的代码。
import tkinter as tk
import random
def lunchLocation():
location_list = ['Pinoeer Mrt', 'Joo Koon Mrt', 'Avenue 3 - Hot Sun', 'Walk 1km - Hot Sun']
Location = random.choice(location_list)
print (Location)
if Location == 'Pinoeer Mrt':
print("Today we eat at ",Location ," lah!")
canvas1.create_window(300, 150, window=button1)
def foodChoicePinoeer():
...
root = tk.Tk()
canvas1 = tk.Canvas(root, width=500, height=500)
canvas1.pack()
button1 = tk.Button(text='Choose Food', command=foodChoicePinoeer, bg='brown', fg='white')
lunchLocation()
root.mainloop()