我们正在开发一个应用程序,它主要由许多Spark SQL作业组成,这些作业可以从Cassandra读取和写入数据。
为了进行单元测试,我们创建了一个新的Cassandra Keyspace,插入数据,执行Job然后从Cassandra表中读取结果。到目前为止一切顺利。然而,这些单元测试往往需要花费大量时间(通常每个作业大约10-30秒),尽管处理的数据非常少。
是否有可能以某种方式加速Spark,它不会失去正确性? (例如,禁用优化)。
我们已经在做什么:
我不想做的是以某种方式重构Jobs,我们插入/输出纯数据帧,因为我们不知道所有列名和列类型都匹配卡桑德拉。
另一个优化方法是,使单元测试更大,以便一个Spark Job Run可以测试多个方面,但这在单元测试设计方面感觉不好。
我们正在使用带有Scala的Spark SQL 1.6.2