2015-08-24 22 views
6
metastore连接

我的项目有不同的HiveContext配置单元测试(有时他们是在一个文件中,因为它们是通过特性组合。)在Apache中星火SQL,如何关闭从HiveContext

升级到星火1.4我遇到后很多'java.sql.SQLException:Derby的另一个实例可能已经引导了数据库的问题,因为补丁使这些上下文无法共享同一个元数据。因为它不干净以恢复每个测试的单例状态。我唯一的选择就是通过终止以前的Derby Metastore连接来“回收”每个上下文。有没有办法做到这一点?

回答

1

那么在斯卡拉我只是用FunSuite进行单元测试以及BeforeAndAfterAll特质。然后,你可以初始化你sparkContext在beforeAll,从它酿出的HiveContext并完成它像这样:

override def afterAll(): Unit = { 
    if(sparkContext != null) 
     sparkContext .stop() 
    } 

从我注意到它也用来关闭HiveContext连接到它。

+0

非常感谢!让我先测试一下。 – tribbloid