2015-08-24 15 views
6
gelen metastore bağlantısını kapatmak için

Projem ben karşılaşmak 1.4 Spark yükselttikten sonra farklı HiveContext yapılandırmaları için birim testleri (onlar özelliklerin göre gruplandırılmış olarak bazen tek bir dosyada bulunmaktadır.), Nasıl HiveContext

sahiptir bir çok "java.sql.SQLException: Derby'nin başka bir örneği, veritabanının sorunları çözebilirdi, çünkü bir yama, bu bağlamları aynı metastore paylaşamaz hale getirebilir. Her test için tek bir tekil durumunu geri döndüremediği için. Tek seçeneğim, önceki Derby metastore bağlantısını sonlandırarak her bir bağlamı "geri dönüştürmek" anlamına gelir. Bunu yapmanın bir yolu var mı?

cevap

1

Scala'da BeforeAndAfterAll özelliğiyle birlikte Unit Tests için FunSuite kullanmıştım. Sonra sadece, beforeAll daki sparkContext init ondan sizin HiveContext yumurtlamaya ve şu şekilde tamamlanabilir:

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

Ben aynı zamanda bir HiveContext ona bağlı kapatır fark kadarıyla.

+0

Çok teşekkürler! Önce test etmeme izin ver. – tribbloid