你好,我正在尝试使用与Spark配置单元,但当我尝试执行,它显示了这个错误
Exception in thread "main" java.lang.IllegalArgumentException: Unable to instantiate SparkSession with Hive support because Hive classes are not found.
这是我的源代码
package com.spark.hiveconnect
import java.io.File
import org.apache.spark.sql.{Row, SaveMode, SparkSession}
object sourceToHIve {
case class Record(key: Int, value: String)
def main(args: Array[String]){
val warehouseLocation = new File("spark-warehouse").getAbsolutePath
val spark = SparkSession
.builder()
.appName("Spark Hive Example")
.config("spark.sql.warehouse.dir", warehouseLocation)
.enableHiveSupport()
.getOrCreate()
import spark.implicits._
import spark.sql
sql("CREATE TABLE IF NOT EXISTS src (key INT, value STRING) USING hive")
sql("LOAD DATA LOCAL INPATH '/usr/local/spark3/examples/src/main/resources/kv1.txt' INTO TABLE src")
sql("SELECT * FROM src").show()
spark.close()
}
}
这是我的build.sbt文件。
name := "SparkHive"
version := "0.1"
scalaVersion := "2.12.10"
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.4.5"
// https://mvnrepository.com/artifact/org.apache.spark/spark-sql
libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.4.5"
我也有Hive运行在控制台。有人能帮我吗?谢谢您。
2条答案
按热度按时间mtb9vblg1#
主要问题是无法加载类“org.apache.hadoop.hive.conf.hiveconf”。您可以插入以下代码进行测试。
这一行会出错。
确切地说,根本的问题是你的pom可能不支持Hive星火。您可以检查以下依赖项。
类“org.apache.hadoop.hive.conf.hiveconf”位于这个依赖关系中。
2ic8powd2#
尝试添加