here에서 KMeans 케이스를 실행하려고합니다. scala2.10.6이있는 spark1.6.2 No TypeTag를 사용할 수 없음
이
내 코드입니다 :def main(args: Array[String]): Unit = {
val conf = new SparkConf().setAppName(this.getClass.getName).setMaster("local[10]")//.set("spark.sql.warehouse.dir", "file:///")
val sc = new SparkContext(conf)
val sqlContext = new SQLContext(sc)
// Crates a DataFrame
val dataset: DataFrame = sqlContext.createDataFrame(Seq(
(1, Vectors.dense(0.0, 0.0, 0.0)),
(2, Vectors.dense(0.1, 0.1, 0.1)),
(3, Vectors.dense(0.2, 0.2, 0.2)),
(4, Vectors.dense(9.0, 9.0, 9.0)),
(5, Vectors.dense(9.1, 9.1, 9.1)),
(6, Vectors.dense(9.2, 9.2, 9.2))
)).toDF("id", "features")
// Trains a k-means model
val kmeans = new KMeans()
.setK(2)
.setFeaturesCol("features")
.setPredictionCol("prediction")
val model = kmeans.fit(dataset)
// Shows the result
println("Final Centers: ")
model.clusterCenters.foreach(println)}
오류 추적 :
Information:2016/9/19 0019 下午 3:36 - Compilation completed with 1 error and 0 warnings in 2s 454ms
D:\IdeaProjects\de\src\main\scala\com.te\KMeansExample.scala
Error:Error:line (18)No TypeTag available for (Int, org.apache.spark.mllib.linalg.Vector)
val dataset: DataFrame = sqlContext.createDataFrame(Seq(
몇 가지 세부 사항 :
1. 나는 spark1.6.2와 스칼라와 함께이 프로그램을 실행할 때 2.10.6.it 컴파일이 실패하고 위의 오류가 표시됩니다. 그러나 인 경우 스칼라 버전을 으로 변경하십시오. 실행했습니다..
2
나는 Livy에 의해 내 클러스터에이 작업을 제출 Hue에서이 코드를 실행, 내 클러스터아무도 도와 줄 수 Spark1.6.2 및 scala2.10.6
빌드? 감사합니다
이 문제가 발생했습니다. 스레드 "main"의 예외 java.lang.NoSuchMethodError : scala.Predef $. $ conforms() Lscala/Predef $$ less $ 콜론 $ less; \t org.apache.spark.util.Utils $ .getSystemProperties (Utils.scala : 1582) –
올바른 버전의 Spark' "org.apache.spark"% "spark-core_2.10"을 사용하고 있습니까? 귀하의 스칼라 버전'2.10.6'에 따라 "1.6.2"%? –
예 "org.apache.spark"% "spark-core_2.10"% "1.6.2" –