Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala 无法使用spark-2.3.0创建spark仓库目录_Scala_Apache Spark_Akka - Fatal编程技术网

Scala 无法使用spark-2.3.0创建spark仓库目录

Scala 无法使用spark-2.3.0创建spark仓库目录,scala,apache-spark,akka,Scala,Apache Spark,Akka,我想与akka和spark一起创建一个项目。我添加了依赖项和其他一些依赖项。这些依赖关系将对使用spark产生任何影响 我有下面的sbt文件 下面是我的火花代码 当我尝试执行此操作时,它正在创建metastore_db文件夹,但spark warehouse文件夹没有创建。此目录不是由getOrCreate创建的。您可以在Spark源代码中检查它:getOrCreate将其操作委托给SparkSession.getOrCreate,它只是一个setter。所有内部测试和CliSuite都使用

我想与akka和spark一起创建一个项目。我添加了依赖项和其他一些依赖项。这些依赖关系将对使用spark产生任何影响

我有下面的sbt文件

下面是我的火花代码


当我尝试执行此操作时,它正在创建metastore_db文件夹,但spark warehouse文件夹没有创建。

此目录不是由
getOrCreate
创建的。您可以在Spark源代码中检查它:
getOrCreate
将其操作委托给
SparkSession.getOrCreate
,它只是一个setter。所有内部测试和
CliSuite
都使用这样的代码段来提前初始化目录:
val warehousePath=Utils.createTempDir()

相反,在实际的用户代码中,您必须执行至少一个数据修改操作来具体化仓库目录。试着在代码结束后运行类似的程序,然后再次检查硬盘上的仓库目录:

导入SPARK.implicits_
导入SPARK.sql
sql(“删除表,如果存在测试”)
sql(“如果不存在,则创建表使用配置单元测试(键INT,值字符串))

删除
conf.set(“spark.sql.warehouse.dir”,warehouseLocation)”时会发生什么情况
?通常情况下,我的目录是在项目目录中创建的,因为我正在那里使用
sbt run
。我通过删除warehouselocation进行了尝试。它没有创建spark warehouse文件夹。删除
启用HIVESupport
时是否会创建目录?如果手动创建目录会发生什么情况(权限问题)?我认为hive使用的是
hdfs
path或hive元存储。另外,请尝试在您的
仓库位置
路径之前添加
文件://
。尝试启用HIVESupport 373574[default akka.actor.default-dispatcher-9]WARN hive.ql.metadata.hive-无法访问元存储时,我遇到以下错误。不应在运行时访问此类。org.apache.hadoop.hive.ql.metadata.HiveException:java.lang.RuntimeException:无法实例化org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
    dependencyOverrides += "com.fasterxml.jackson.core" % "jackson-core" % "2.8.7"
    dependencyOverrides += "com.fasterxml.jackson.core" % "jackson-databind" % "2.8.7"
    dependencyOverrides += "com.fasterxml.jackson.module" % "jackson-module-scala_2.11" % "2.8.7"

lazy val commonSettings = Seq(
  organization := "com.bitool.analytics",
  scalaVersion := "2.11.12",
  libraryDependencies ++= Seq(
    "org.scala-lang.modules" %% "scala-async" % "0.9.6",
    "com.softwaremill.macwire" %% "macros" % "2.3.0",
    "com.softwaremill.macwire" %% "macrosakka" % "2.3.0",
    "com.typesafe.akka" %% "akka-http" % "10.0.6",
    "io.swagger" % "swagger-jaxrs" % "1.5.19",
    "com.github.swagger-akka-http" %% "swagger-akka-http" % "0.9.1",
    "io.circe" %% "circe-generic" % "0.8.0", 
    "io.circe" %% "circe-literal" % "0.8.0", 
    "io.circe" %% "circe-parser" % "0.8.0", 
    "io.circe" %% "circe-optics" % "0.8.0", 
    "org.scalafx" %% "scalafx" % "8.0.144-R12",
    "org.scalafx" %% "scalafxml-core-sfx8" % "0.4",
    "org.apache.spark" %% "spark-core" % "2.3.0",
    "org.apache.spark" %% "spark-sql" % "2.3.0",
    "org.apache.spark" %% "spark-hive" % "2.3.0",
    "org.scala-lang" % "scala-xml" % "2.11.0-M4",
    "mysql" % "mysql-connector-java" % "6.0.5"
  )
)
lazy val root = (project in file(".")).
  settings(commonSettings: _*).
  settings(
    name := "BITOOL-1.0"
  )
ivyScala := ivyScala.value map {
  _.copy(overrideScalaVersion = true)
}
fork in run := true
private val warehouseLocation = new File("spark-warehouse").getAbsolutePath
val conf = new SparkConf()
  conf.setMaster("local[4]")
  conf.setAppName("Bitool")
  conf.set("spark.sql.warehouse.dir", warehouseLocation)

  val SPARK = SparkSession
    .builder().config(conf).enableHiveSupport()
    .getOrCreate()
  val SPARK_CONTEXT = SPARK.sparkContext