def isTableExists(admin: HBaseAdmin, tName: String):Boolean = {
if (admin.tableExists(TableName.valueOf(tName))) {
println("table already exists!")
true
}else{
println("table not exists!")
false
}
}
/**
* 根据指定的管理员,表名,列族名称创建表
*
* @param admin 创建HBaseAdmin对象
* @param tName 需要创建的表名
* @param columnFamilys 列族名称的集合
* @Test
* def createTable(): Unit = {
* // val list = List("family1", "family2")
* val list = List("Stat2")
* hBaseUtils.createTable(admin, "PageViewStream2", list)
* }
*/
def createTable(admin: HBaseAdmin, tName: String, columnFamilys: List[String]): Unit = {
if (admin.tableExists(TableName.valueOf(tName))) {
println("table already exists!")
admin.disableTable(tName)
admin.deleteTable(tName)
}
try {
val tableDesc = new HTableDescriptor(TableName.valueOf(tName))
columnFamilys.foreach(columnFamilysName => tableDesc.addFamily(new HColumnDescriptor(columnFamilysName)))
admin.createTable(tableDesc)
println("create table success!")
}
catch {
case e: Exception => e.printStackTrace()
}
}
/**
* 删除数据
*
* @param conf 当前对象的配置信息
* @param tableName 表名
*/
def deleteTable(conf: Configuration, tableName: String): Unit = {
val admin = getAdmin(conf)
try {
if (admin.tableExists(tableName)) {
admin.disableTable(tableName)
admin.deleteTable(tableName)
}
} catch {
case e: Exception => e.printStackTrace()
}
print("删除数据成功")
}
/**
*
* @param admin
* @param tName
*/
def trucateTable(admin: HBaseAdmin, tName: String): Unit = {
val tb = TableName.valueOf(tName)
if (admin.tableExists(tb)) {
println("table already exists!")
admin.disableTable(tName)
try {
admin.truncateTable(tb,false)
println("create table success!")
}
catch {
case e: Exception => e.printStackTrace()
}
}else{
println("table not exists!")
}
}