zoukankan      html  css  js  c++  java
  • HBase JavaAPI操作示例


    package testHBase; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.client.Get; import org.apache.hadoop.hbase.client.HBaseAdmin; import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.client.Result; import org.apache.hadoop.hbase.client.ResultScanner; import org.apache.hadoop.hbase.client.Scan; import org.apache.hadoop.hbase.util.Bytes; public class TestHBase { static Configuration cfg = HBaseConfiguration.create(); //得到配置对象 public static void create(String tableName ,String columnFamily) throws Exception{ HBaseAdmin admin = new HBaseAdmin(cfg); //得到HBaseAdmin对象,用于操作HBase if(admin.tableExists(tableName)){ System.out.println("Table" + tableName + " Exists!"); System.exit(0); } else{ HTableDescriptor tableDesc = new HTableDescriptor(tableName); //得到表描述对象 创建表时用到 tableDesc.addFamily(new HColumnDescriptor(columnFamily)); //HColumnDescriptor 列族描述对象 admin.createTable(tableDesc); //创建表 System.out.println("Table " + tableName + " Success!"); } } static void put(String tableName,String row,String columnFamily,String column,String data) throws Exception{ HTable table = new HTable(cfg,tableName); //得到表对象 Put put = new Put(Bytes.toBytes(row)); //插入数据 put.add(Bytes.toBytes(columnFamily), Bytes.toBytes(column),Bytes.toBytes(data)); table.put(put); System.out.println("put " + row +"," + "columnFamily:" + column + "," + data); } static void get(String tableName,String row) throws Exception{ HTable table = new HTable(cfg,tableName); Get get = new Get(Bytes.toBytes(row));//获取行数据 Result result = table.get(get); System.out.println("Get: " + result); } static void scan(String tableName) throws Exception{ HTable table = new HTable(cfg,tableName); Scan scan = new Scan(Bytes.toBytes(tableName)); ///扫描全表 ResultScanner rs = table.getScanner(scan); for(Result r : rs){ System.out.println("Scan: " + r); } } static boolean delete(String tableName) throws Exception{ HBaseAdmin admin = new HBaseAdmin(cfg); if(admin.tableExists(tableName)){ admin.disableTable(tableName); //先disable System.out.println("Disable Table " + tableName + " Success!"); admin.deleteTable(tableName); //再删除 System.out.println("Delete Table " + tableName + " Success!"); } return true; } public static void main(String[] args) throws Exception { cfg.set("hbase.master", "hadoop:60000"); cfg.set("hbase.rootdir", "hdfs://hadoop:9000/hbase"); cfg.set("hbase.zookeeper.quorum", "hadoop"); String tableName = "hbase_test"; String columnFamily = "cf"; create(tableName, columnFamily); put(tableName,"row1",columnFamily,"c1","data"); scan(tableName); get(tableName,"row1"); delete(tableName); } }

      

  • 相关阅读:
    vue单文件组件形成父子(子父)组件之间通信(vue父组件传递数据给子组件,子组件传递数据给父组件)
    appium 问题四的解决办法(模拟器打开的页面弹出框与脚本打开页面的弹出框不一致)
    appium 自动化问题三--键盘关键字的使用
    RF+appium自动化问题二解决思路
    appium自动化滑动鼠标滚动条的用法
    appium自动化中元素定位碰到的问题一
    appium自动化时,输入中文不显示的问题解决
    appium自动化模拟器使用
    pycharm 无法识别selenium,appium等工具时的解决办法
    Mysql基础学习(二)之DQL的使用
  • 原文地址:https://www.cnblogs.com/ciade/p/5061704.html
Copyright © 2011-2022 走看看