Adatbázis törlése törlés nélkül

Alapértelmezés szerint a DROP DATABASE parancs eldobja az adatbázist, és törli az adatbázishoz társított könyvtárat a fájlrendszerből.

Előfordulhat, hogy el szeretné dobni az adatbázist, de az alapul szolgáló adatbázis-könyvtárat érintetlenül hagyja.

Mintakód

Ezzel a példakóddal az alapul szolgáló storage mappa törlése nélkül is eldobhatja az adatbázist.

import scala.collection.JavaConverters._
import org.apache.hadoop.hive.ql.metadata.Hive
import org.apache.hadoop.hive.conf.HiveConf
import org.apache.hadoop.hive.ql.session.SessionState

val hiveConf = new HiveConf(classOf[SessionState])
sc.hadoopConfiguration.iterator().asScala.foreach { kv =>
hiveConf.set(kv.getKey, kv.getValue)
}
sc.getConf.getAll.foreach {
case (k, v) => hiveConf.set(k, v)
}

hiveConf.setBoolean("hive.cbo.enable", false)
val state = new SessionState(hiveConf)
val hive = Hive.get(state.getConf)
println(state.getConf)

hive.dropDatabase("<database-name>", false, false, true)

A ről a org.apache.hadoop.hive.ql.metadata.Hiveorg.apache.hadoop.hive.ql.metadata.Hive