加速Spark SQL单元测试

时间:2016-12-01 10:24:26

标签: sql scala apache-spark cassandra

我们正在开发一个应用程序,它主要由许多Spark SQL作业组成,这些作业可以从Cassandra读取和写入数据。

为了进行单元测试,我们创建了一个新的Cassandra Keyspace,插入数据,执行Job然后从Cassandra表中读取结果。到目前为止一切顺利。然而,这些单元测试往往需要花费大量时间(通常每个作业大约10-30秒),尽管处理的数据非常少。

是否有可能以某种方式加速Spark,它不会失去正确性? (例如,禁用优化)。

我们已经在做什么:

  • 在Ram Drive上使用Cassandra。纯Cassandra的读写速度已经非常快,也就是Keyspace / Table娱乐。
  • 为不同的工作重用Spark / Hive上下文。

我不想做的是以某种方式重构Jobs,我们插入/输出纯数据帧,因为我们不知道所有列名和列类型都匹配卡桑德拉。

另一个优化方法是,使单元测试更大,以便一个Spark Job Run可以测试多个方面,但这在单元测试设计方面感觉不好。

我们正在使用带有Scala的Spark SQL 1.6.2

0 个答案:

没有答案