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