2015-08-24 23 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