hbase scala 实例_scala操作hbase案例

packagecom.asiainfo.ocdc.streaming.toolsimportorg.apache.hadoop.hbase.HBaseConfigurationimportorg.apache.hadoop.conf.Configurationimportorg.apache.hadoop.hbase.client.{Put, Result, Get, HTable}importorg.apache.hadoop.hbase.util.Bytesimportscala.collection.mutable

object HbaseTool {

val table= newmutable.HashMap[String,HTable]()

var conf=HBaseConfiguration.create()

def setConf(c:Configuration)={

conf=c

}

def getTable(tableName:String):HTable={

table.getOrElse(tableName,{

println("----new connection ----")

val tbl= newHTable(conf, tableName)

table(tableName)=tbl

tbl

})

}

def getValue(tableName:String,rowKey:String,family:String,qualifiers:Array[String]):Array[(String,String)]={

var result:AnyRef= nullval table_t=getTable(tableName)

val row1= newGet(Bytes.toBytes(rowKey))

val HBaseRow=table_t.get(row1)if(HBaseRow != null && !HBaseRow.isEmpty){

result= qualifiers.map(c=>{

(tableName+"."+c, Bytes.toString(HBaseRow.getValue(Bytes.toBytes(family), Bytes.toBytes(c))))

})

}else{

result=qualifiers.map(c=>{

(tableName+"."+c,"null") })

}

result.asInstanceOf[Array[(String,String)]]

}

def putValue(tableName:String,rowKey:String, family:String,qualifierValue:Array[(String,String)]) {

val table=getTable(tableName)

val new_row= newPut(Bytes.toBytes(rowKey))

qualifierValue.map(x=>{

var column=x._1

val value=x._2

val tt= column.split("\\.")if (tt.length == 2) column=tt(1)if(!(value.isEmpty))

new_row.add(Bytes.toBytes(family), Bytes.toBytes(column), Bytes.toBytes(value))

})

table.put(new_row)

}

val family= "F"}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值