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...")
 
  
 
  
 
  
 
  
本文为自己请写,未经许可,不得转载。
欢迎各位同行交流。。。

你可能感兴趣的:(scala,scala,hbase,hadoop,i)