我在Azure数据块上很好地运行了Scala代码。现在,我要将这段代码从Azure笔记本移动到Eclipse。
package Student
import org.apache.spark.sql.DataFrame
import org.apache.spark.sql.SparkSession
import java.util.Properties
//import com.databricks.dbutils_v1.DBUtilsHolder.dbutils
object Test {
def isTypeSame(df: DataFrame, name: String, coltype: String) = (df.schema(name).dataType.toString == coltype)
def main(args: Array[String]){
var Result = true
val Borrowers = List(("col1", "StringType"),("col2", "StringType"),("col3", "DecimalType(38,18)"))
val dfPcllcus22 = spark.read.format("parquet").load("/mnt/slraw/ServiceCenter=*******.parquet")
if (Result == false) println("Test Fail, Please check") else println("Test Pass")
}
}
当我在eclipse中运行此代码时,它显示找不到主类。但是,如果我评论“ val dfPcllcus22 = spark.read.format("parquet").load("/mnt/slraw/ServiceCenter=*******.parquet")
”,则通过测试。
因此似乎spark.read.format无法识别。
我是Scala和DataBricks的新手。 我正在研究结果几天,但仍然无法解决。 如果有人可以帮助,请多多关照。 环境对我来说有点复杂,如果需要更多信息,请告诉我
答案 0 :(得分:0)
需要SparkSession在eclipse中运行代码,因为您提供的代码没有用于SparkSession创建的这一行会导致错误,
val spark = SparkSession.builder.appName("SparkDBFSParquet").master("local[*]".getOrCreate()
请添加此行并运行代码,它应该可以工作。