Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/370.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Eclipse/Spark IDE中存在执行异常的错误符号引用_Java_Eclipse_Apache Spark - Fatal编程技术网

Java Eclipse/Spark IDE中存在执行异常的错误符号引用

Java Eclipse/Spark IDE中存在执行异常的错误符号引用,java,eclipse,apache-spark,Java,Eclipse,Apache Spark,我想在Eclipse上试验Spark ML,我必须先执行一些数据操作。下面的代码显示了后者 我的代码: package org.test.spark 导入org.apache.spark.SparkConf 导入org.apache.spark.SparkContext 导入org.apache.spark.ml.classification.RandomForestClassifier 导入org.apache.spark.ml.evaluation.BinaryClassification

我想在Eclipse上试验Spark ML,我必须先执行一些数据操作。下面的代码显示了后者

我的代码:

package org.test.spark
导入org.apache.spark.SparkConf
导入org.apache.spark.SparkContext
导入org.apache.spark.ml.classification.RandomForestClassifier
导入org.apache.spark.ml.evaluation.BinaryClassificationEvaluator
导入org.apache.spark.ml.feature.StringIndexer
导入org.apache.spark.ml.feature.VectorAssembler
导入org.apache.spark.ml.tuning.{ParamGridBuilder,CrossValidator}
导入org.apache.spark.ml.{Pipeline,PipelineStage}
导入org.apache.spark.rdd.rdd
导入org.apache.spark.sql_
对象数据测试{
导入scala.reflect.runtime.universe.TypeTag
案例级学分(
信誉度:加倍,
余额:双倍,持续时间:双倍,历史:双倍,目的:双倍,金额:双倍,
储蓄:双倍,就业:双倍,性别:双倍,已婚:双倍,担保人:双倍,
居住:双倍,资产:双倍,年龄:双倍,信用:双倍,公寓:双倍,
信用证:双人,职业:双人,家属:双人,手机:双人,外国人:双人
)
def main(参数:数组[字符串])={
//启动Spark上下文
val conf=new SparkConf()
.setAppName(“数据测试”)
.setMaster(“本地”)
val sc=新的SparkContext(配置)
val sqlContext=new org.apache.spark.sql.sqlContext(sc)
导入sqlContext.implicits_
//函数从Double数组创建一个Credit类
def parseCredit(行:数组[Double]):Credit={
功劳(
第(0)行,
第(1)-1行、第(2)行、第(3)行、第(4)行、第(5)行,
第(6)-1行、第(7)-1行、第(8)行、第(9)-1行、第(10)-1行、,
第(11)-1行、第(12)-1行、第(13)行、第(14)-1行、第(15)-1行、,
第(16)-1行、第(17)-1行、第(18)-1行、第(19)-1行、第(20)-1行
)
}
//函数将字符串的RDD转换为双精度的RDD
def parseRDD(rdd:rdd[String]):rdd[Array[Double]={
map(0.split(“,”).map(0.map(0.toDouble))
}
val creditDF=parseRDD(sc.textFile(“germancredit.csv”)).map(parseCredit).toDF().cache()
creditDF.注册表可清空(“贷方”)
creditDF.printSchema
信誉展
creditDF.groupBy(“信誉”).avg(“余额”).show
sqlContext.sql(“根据信用度从信用组中选择信用度,平均余额为avgbalance,平均金额为avgamt,平均持续时间为avgdur”)。显示
//定义要放入要素向量的要素列
val featureCols=数组(“余额”、“持续时间”、“历史记录”、“目的”、“金额”,
“储蓄”、“就业”、“利息”、“已婚”、“担保人”,
“居住教育”、“资产”、“年龄”、“信用”、“公寓”,
“学分”、“职业”、“家属”、“手机”、“外国”)
//设置输入和输出列名
val assembler=new VectorAssembler().setInputCols(featureCols).setOutputCol(“features”)
//返回向量列中包含所有要素列的数据帧
val df2=汇编程序.transform(creditDF)
//变换方法生成了一个新列:features。
df2.show
sc.停止
}
}
当我运行
mvn clean install
时,我得到以下信息:

错误:错误的符号引用。PipelineStage.class中的签名指的是术语“内部” 在包org.apache.spark中,该文件不可用。 它可能在当前类路径或上的版本中完全丢失 类路径可能与编译PipelineStage.class时使用的版本不兼容。 val assembler=new VectorAssembler().setInputCols(featureCols).setOutputCol(“features”)

问题似乎发生在调用
val assembler=new vectorsembler().setInputCols(featureCols).setOutputCol(“features”)时

当我运行
mvn clean package
时,我得到:

未能执行目标 scala工具:maven scala插件:2.15.2:在项目上编译(默认) spark:wrap:org.apache.commons.exec.ExecuteException:进程已退出 出现错误:1(退出值:1)->[帮助1]

我的pom.xml文件:


4.0.0
组织测试
火花
0.0.1-快照
scala-tools.org
Scala工具Maven2存储库
http://scala-tools.org/repo-releases
org.apache.spark
spark-core_2.10
1.6.0
org.apache.spark
spark-sql_2.10
1.6.0
org.apache.spark
spark-mllib_2.10
2.0.1
org.apache.spark
spark-mllib-local_2.10
2.0.1
com.databricks
spark-csv_2.10
1.2.0
org.scala-tools
maven scala插件
2.15.2
编译
编译
编译
测试编译
测试编译
测试编译
过程资源
编译
maven编译器插件
3.6.1
1.7
1.7
org.apache.maven.plugins
maven汇编插件
2.4
带有依赖项的jar
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-sql_2.10</artifactId>
        <version>1.6.0</version>
    </dependency>   
    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-mllib_2.10</artifactId>
        <version>2.0.1</version>
    </dependency>