apache spark-如何用“未找到类型”修复Scala错误


0

我是 Scala的新手,只是想在Spark里学。现在我正在编写一个Scala应用程序,将csv文件从hadoop加载到dataframe中,然后我想在该dataframe中添加一个新列。有一个函数来填充新列的内容,为了 test该函数,只需将csv文件中的列大写,csv文件只包含一列:emp_id及其字符串。。函数在对象TestService中定义。我的IDE是Eclipse。现在我有一个错误:找不到:类型TestService

非常感谢有人能帮我。

\This is the main:
import org.apache.spark.sql.SparkSession
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.sql.functions._


import com.poc.spark.service.TestService;

object SparkIntTest {
def main(args:Array[String]){
sys.props.+=(("hadoop.home.dir","C:\OpenSource\Hadoop"))

val sparkConf = new SparkConf().setMaster("local").setAppName("employee").set("spark.testing.memory", "2147480000")
val sparkContext = new SparkContext(sparkConf)
val spark = SparkSession.builder().appName("employee").getOrCreate()

val df = spark.read.option("header", "true").csv(".\src\main\resources\employee.csv")

df.show();

println(df.schema);

val df_Applied = df.withColumn("award_rule",runAllRulesUDF(df("emp_id")))
df_Applied.show();
println(df_Applied.schema)

}
def runAllRulesUDF = udf(new TestService().runAllRulesForUDF(_:String))

}

下面是对象 test服务:

package com.poc.spark.service

import org.apache.spark.sql.SparkSession
import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.sql.functions._

object TestService {

def runAllRulesForUDF(empid: String): String = {

empid.toUpperCase();

}
}

1 答案


0

TestService是一个对象,这意味着它是静态创建的单例。所以不是

new TestService()

你可以说

TestService

我来回答

写文章

提问题

面试题