scala 操作远程hbase

环境声明:idea 14,jdk7,hadoop 2.6 ,hbase 1.0,window8.1,scala 2.11

提示:本人在最初用scala连接hbase的时候遇到了各种错误,很是纳闷,而且那些错误在网上很少见到,搞了半天,才发现是自己windows下的hosts文件中少写了如下内容。

10.132.10.235 centOS-235
10.132.10.234 centOS-1

写在最下面,前面是远程服务器的ip,后面是机器名(不知道机器名的可以输入hostname,查看),

object OpHbase_02 {
  def main(args: Array[String]):Unit= {
    val conf= HBaseConfiguration.create()
    conf.set("hbase.zookeeper.quorum","10.132.10.234")
    conf.set("hbase.zookeeper.property.clientPort","3351")
    println("10.132.10.234 : habse connention success...")
    val tableName = "VISIT_LOG"
    conf.set(TableInputFormat.INPUT_TABLE, tableName)
    val hBaseAdmin = new HBaseAdmin(conf);
    //创建表
    if (hBaseAdmin.tableExists(tableName)) {
        println(tableName + " is exist,detele....")
        hBaseAdmin.disableTable(tableName)
        hBaseAdmin.deleteTable(tableName)
    }
    val tableDescriptor = new HTableDescriptor(tableName)
    tableDescriptor.addFamily(new HColumnDescriptor("line"))
    hBaseAdmin.createTable(tableDescriptor)
    println(tableName+"table creat success")

    conf.set(TableInputFormat.INPUT_TABLE, tableName)
    val table = new HTable(conf,tableName)
    val put = new Put(("row"+System.currentTimeMillis()).getBytes())// 一个PUT代表一行数据,再NEW一个PUT表示第二行数据,每行一个唯一的ROWKEY,此处rowkey为put构造方法中传入的值
    put.add("line".getBytes(), "USER_ID".getBytes(), Bytes.toBytes("zhangsan"))// 本行数据的第二列
    put.add("line".getBytes(), "LABEL_ID".getBytes(), Bytes.toBytes("nan"))

    table.put(put)
    println("insert success...")
 
 
 
本文为自己请写,未经许可,不得转载。
欢迎各位同行交流。。。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值