如何修复 spark.read.format("parquet") 错误

How to fix spark.read.format("parquet") error

我运行在 Azure databricks 上很好地编写 Scala 代码。现在我想将此代码从 Azure notebook 移动到 eclipse。

  1. 我按照微软文档成功安装了databricks连接。通过数据块数据连接测试。
  2. 我还安装了 SBT 并导入到我在 eclipse 中的项目
  3. 我在 eclipse 中创建了 scala 对象,并且我在 pyspark 中将所有 jar 文件作为外部文件导入

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 中 运行 这段代码时,它显示找不到 main class。但是如果我评论“val dfPcllcus22 = spark.read.format("parquet").load("/mnt/slraw/ServiceCenter=*******.parquet")”,通过测试。 所以好像spark.read.format无法识别

我是 Scala 和 DataBricks 的新手。 我研究了好几天的结果,但仍然无法解决。 如果有人可以提供帮助,真的很感激。 环境对我来说有点复杂,如果需要更多信息,请告诉我

需要 SparkSession 运行 您在 eclipse 中的代码,因为您提供的代码没有创建 SparkSession 的这一行会导致错误,

val spark = SparkSession.builder.appName("SparkDBFSParquet").master("local[*]".getOrCreate()

请添加此行和 运行 代码,它应该可以工作。