IntelliJ scala项目导入



我在IntelliJ中有一个带有简单文件夹结构的scala项目src/core/CommonCSVReader.scala我在src/下有一个program.scala文件我从集成终端运行spark shell,并尝试运行:load program.scala我得到以下错误:

对象CommonCSVReader不是包核心的成员

即使我退出spark shell并尝试运行scala program.scala,我也遇到了同样的问题,我想尝试从intelliJ运行program.scala,但如果我右键单击program.scala,我没有run ScalaApp选项,只有run scala控制台,它刚刚启动scala控制台。我在这里找不到我缺少的东西,谢谢你,

program.scala

import core.CommonCSVReader
object program {
def main():Unit = {
val path:String = "some/path"
val reader = new CommonCSVReader(path)
reader.Read()
}
}

编辑:请在下面找到CommonCSVReader类:

package core
import org.apache.spark.sql.SparkSession
class CommonCSVReader(filename:String) extends ParserFileReader(filename) {
val spark = SparkSession.builder().config("spark.master", 
"local").getOrCreate()
def Read():Unit = {
val df = spark.read.option("header", "true").option("inferSchema", 
"true").csv(filename)
//Show Schema
df.printSchema()
}
}

您需要添加

package core

到CCD_ 7的开始。仅仅把它放在文件夹里是不够的。

编辑:

我还注意到,您没有将包放在scala文件夹中。"常用"路径是:

src/main/scala/<packages>

虽然我不确定这是否会影响

program.scala

import core.CommonCSVReader
object program extends App {
val path:String = "some/path"
val reader = new CommonCSVReader(path)
reader.Read()
}

似乎我必须扩展应用程序,现在当我右键单击program.scala时,我可以选择run 'program',它可以正常工作,但不能从终端

最新更新