- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一些单元测试需要有自己的 sparkSession。我扩展了 SQLTestUtils,并覆盖了在许多其他 Spark 单元测试中使用的 beforeAll 和 afterAll 函数(来自源代码)。我有一些看起来像这样的测试套件:
class MyTestSuite extends QueryTest with SQLTestUtils {
protected var spark: SparkSession = null
override def beforeAll(): Unit = {
super.beforeAll()
spark = // initialize sparkSession...
}
override def afterAll(): Unit = {
try {
spark.stop()
spark = null
} finally {
super.afterAll()
}
}
// ... my tests ...
}
如果我运行其中一个,没问题,但如果我运行两个或更多,我会收到此错误:
Caused by: ERROR XSDB6: Another instance of Derby may have already booted the database /home/jenkins/workspace/Query/apache-spark/sql/hive-thriftserver-cat-server/metastore_db.
但我认为 afterAll()
应该正确关闭 spark 以便我可以创建一个新的。这不对吗?我该如何实现?
最佳答案
实现此目的的一种方法是禁用 Spark 应用程序项目的并行测试执行,以确保当时只有一个 Spark Session 对象实例处于事件状态。在 sbt 语法中它会像这样:
project.in(file("your_spark_app"))
.settings(parallelExecution in Test := false)
缺点是这是针对每个项目的设置,它还会影响将从并行化中受益的测试。解决方法是为 Spark 测试创建一个单独的项目。
关于apache-spark - SparkSession 在单元测试之间没有正确关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53713980/
我正在学习 Spark,对 Spark 的目录感到困惑。 我在SparkSession中找到了一个catalog,它是CatalogImpl的一个实例,如下 /** * Interface
我在 main() 中创建了一个 session 函数,像这样: val sparkSession = SparkSession.builder.master("local[*]").appName(
我创建了一个本地Spark集群和一个Spark session ,如下所示 val sparkConf = new SparkConf(true).setAppName("test").setMast
在我的应用程序中,我正在创建一个 SparkSession对象,然后尝试读取我的属性文件并在运行时设置属性。但它没有选择我在运行时传递的属性。 我正在以 YARN 集群模式提交我的应用程序 这是我在
如何在Java中使用builder创建sparkSession?我已经尝试过这个: sparkSession = SparkSession.builder() .master("local[*
我有一个 pyspark 2.0.0 脚本,其中定义了以下 session : spark = SparkSession \ .builder \ .appName("Python S
我的操作系统是 windows 10 from pyspark.conf import SparkConf sc = SparkContext.getOrCreate() spark = SparkS
我正在尝试运行一个简单的 Spark Structured Streaming 作业,但是在 SparkSession 上调用 getOrCreate() 时出现错误... 我这样创建 SparkSe
我的 Spark 代码充斥着这样的代码 object Transformations { def selectI(df:DataFrame) : DataFrame = { //
如何创建 sparksession? scala> import org.apache.spark.SparkConf import org.apache.spark.SparkConf scala>
我正在尝试使用 SparkSession 将文件的 JSON 数据转换为带有 Spark Notebook 的 RDD。我已经有了 JSON 文件。 val spark = SparkSession
下面2个有什么区别? object Example1 { def main(args: Array[String]): Unit = { try { v
我的 spark 应用程序中有一个从 MySQL 数据库加载数据的方法。该方法看起来像这样。 trait DataManager { val session: SparkSession def loa
我将https://github.com/apache/spark/blob/master/examples/src/main/scala/org/apache/spark/examples/ml/R
当我启动 pyspark 时,会自动生成一个 SparkSession 并作为“spark”提供。我想打印/查看 spark session 的详细信息,但在访问这些参数时遇到很多困难。 Pyspar
我有一些单元测试需要有自己的 sparkSession。我扩展了 SQLTestUtils,并覆盖了在许多其他 Spark 单元测试中使用的 beforeAll 和 afterAll 函数(来自源代码
我想创建一个 pyspark 数据框,其中一列指定名称包含一系列整数(这是为了输入 ALS 模型的 suggestForUserSubset 方法)。 所以我使用范围创建了一个整数列表,并发现 thi
I cannot import SparkSession from pyspark.sql,but i can import Row 我的spark-1.6.0-bin-hadoop2.6安装在doc
我在本地机器上运行 spark 2、hive、hadoop,我想使用 spark sql 从 hive 表中读取数据。 当我在默认 hdfs://localhost:9000 下运行 hadoop 时
我有一个pyspark程序,有多个独立的模块,每个模块都可以独立处理数据,以满足我的各种需求。但它们也可以链接在一起以在管道中处理数据。这些模块中的每一个都构建一个 SparkSession 并自行完
我是一名优秀的程序员,十分优秀!