• HBase的put简单对比


    方法1:

        /**
         * 添加一行数据
         * 
         * @param tableName
         *            表名
         * @param columnFamily
         *            列族名
         * @param rowKey
         *            行键
         * @param columnQualifier
         *            列限定符
         * @param value
         *            值
         */
        public void AddRowData(String tableName, String columnFamily,
                String rowKey, String columnQualifier, String value) {
            tableName = HBASE_TABLE_NAMESPACE + ":" + tableName;
            try {
                _hTableAdmin = new HTable(_configuration, tableName);
                Put put = new Put(Bytes.toBytes(rowKey));
                put.add(Bytes.toBytes(columnFamily),
                        Bytes.toBytes(columnQualifier), Bytes.toBytes(value));
                // 当数据变动时,同步写WAL日志
                put.setDurability(Durability.SYNC_WAL);
                _hTableAdmin.put(put);
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                this.CloseHTableAdmin("AddRowData");
            }
        }

    方法2:

        /**
         * 添加一行多限定符的数据
         * 
         * @param tableName
         *            表名
         * @param columnFamily
         *            列族
         * @param rowKey
         *            行键
         * @param cqAndvalue
         *            列名(列限定符)和值的键值对
         */
        public void AddRowData(String tableName, String columnFamily,
                String rowKey, Map<String, Object> cqAndvalue) {
            if (cqAndvalue.isEmpty())
                return;
            tableName = HBASE_TABLE_NAMESPACE + ":" + tableName;
            try {
                List<Put> puts = new ArrayList<Put>();
                for (String cq : cqAndvalue.keySet()) {
                    _hTableAdmin = new HTable(_configuration, tableName);
                    Put put = new Put(Bytes.toBytes(rowKey));
                    put.add(Bytes.toBytes(columnFamily), Bytes.toBytes(cq),
                            Bytes.toBytes(cqAndvalue.get(cq).toString()));
                    puts.add(put);
                }
                _hTableAdmin.put(puts);
            } catch (IOException e) {
                e.printStackTrace();
            } finally {
                this.CloseHTableAdmin("AddRowData");
            }
        }

    调用方法1:

            hbaseHelper.AddRowData(tableName, columnFamily, "3", "title", "四核I5 4570升4590/GTX750独显组装电脑主机 游戏台式DIY兼容整机");
            hbaseHelper.AddRowData(tableName, columnFamily, "3", "introductions", "开学季,劲爆升级限量抢①免费升级ID-Cooling SE902 V3双铜管蓝光LED高端散热器,彻底告别高温、死机、重启②免费升级到第一品牌七彩虹GTX750 2G D5高端显卡③免费升级全球第一品牌华硕B85M-F全固态主板,独家EPU节能及数字稳定供电,送全国顺丰包邮!限量300台,即将抢完!");
            hbaseHelper.AddRowData(tableName, columnFamily, "3", "price", 3699.00);
            hbaseHelper.AddRowData(tableName, columnFamily, "3", "real", 2899.00);
            hbaseHelper.AddRowData(tableName, columnFamily, "3", "freight", 0.00);
            hbaseHelper.AddRowData(tableName, columnFamily, "3", "place", "湖北武汉");
            hbaseHelper.AddRowData(tableName, columnFamily, "3", "monthsell", 4469);

    结果1:

    2014-09-10 15:18:12,777 WARN  [main] util.NativeCodeLoader (NativeCodeLoader.java:<clinit>(62)) - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    2014-09-10 15:18:12,964 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:zookeeper.version=3.4.6-1569965, built on 02/20/2014 09:09 GMT
    2014-09-10 15:18:12,964 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:host.name=[...]
    2014-09-10 15:18:12,964 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:java.version=1.7.0_60
    2014-09-10 15:18:12,964 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:java.vendor=Oracle Corporation
    2014-09-10 15:18:12,964 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:java.home=D:JAVAjre7
    2014-09-10 15:18:12,964 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:java.class.path=[...]
    2014-09-10 15:18:12,965 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:java.library.path=[...]
    2014-09-10 15:18:12,965 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:java.io.tmpdir=[...]
    2014-09-10 15:18:12,965 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:java.compiler=<NA>
    2014-09-10 15:18:12,965 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:os.name=Windows 7
    2014-09-10 15:18:12,965 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:os.arch=amd64
    2014-09-10 15:18:12,965 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:os.version=6.1
    2014-09-10 15:18:12,965 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:user.name=LFF
    2014-09-10 15:18:12,965 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:user.home=[...]
    2014-09-10 15:18:12,965 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:user.dir=[...]
    2014-09-10 15:18:12,968 INFO  [main] zookeeper.ZooKeeper (ZooKeeper.java:<init>(438)) - Initiating client connection, connectString=192.168.129.130:2181 sessionTimeout=90000 watcher=hconnection-0x7b70ad95, quorum=192.168.129.130:2181, baseZNode=/hbase
    2014-09-10 15:18:12,999 INFO  [main] zookeeper.RecoverableZooKeeper (RecoverableZooKeeper.java:<init>(120)) - Process identifier=hconnection-0x7b70ad95 connecting to ZooKeeper ensemble=192.168.129.130:2181
    2014-09-10 15:18:12,999 INFO  [main-SendThread(192.168.129.130:2181)] zookeeper.ClientCnxn (ClientCnxn.java:logStartConnect(975)) - Opening socket connection to server 192.168.129.130/192.168.129.130:2181. Will not attempt to authenticate using SASL (unknown error)
    2014-09-10 15:18:13,001 INFO  [main-SendThread(192.168.129.130:2181)] zookeeper.ClientCnxn (ClientCnxn.java:primeConnection(852)) - Socket connection established to 192.168.129.130/192.168.129.130:2181, initiating session
    2014-09-10 15:18:13,007 INFO  [main-SendThread(192.168.129.130:2181)] zookeeper.ClientCnxn (ClientCnxn.java:onConnected(1235)) - Session establishment complete on server 192.168.129.130/192.168.129.130:2181, sessionid = 0x1485d39e21a0015, negotiated timeout = 40000
    HBase Namespace Exists[true]!
    ExistsHBaseNamespace(...):关闭与HBase的连接!
    CreateHBaseNamespace(...):关闭与HBase的连接!
    AddRowData(...):关闭与HTable的连接!
    AddRowData(...):关闭与HTable的连接!
    AddRowData(...):关闭与HTable的连接!
    AddRowData(...):关闭与HTable的连接!
    AddRowData(...):关闭与HTable的连接!
    AddRowData(...):关闭与HTable的连接!
    AddRowData(...):关闭与HTable的连接!

    调用方法2:

            Map<String, Object> map = new HashMap<String, Object>();
            map.put("title", "Lenovo/联想 IdeaPad Y400 Y400N-IFI(T) i5游戏本笔记本电脑750M");
            map.put("introductions", "彪悍的Y星人 加SSD性能更强劲");
            map.put("price", 5351.00);
            map.put("real", 4649.00);
            map.put("freight", 0);
            map.put("place", "北京");
            map.put("monthsell", 1329);
            hbaseHelper.AddRowData(tableName, columnFamily, "2", map);

    结果2:

    2014-09-10 15:05:20,212 WARN  [main] util.NativeCodeLoader (NativeCodeLoader.java:<clinit>(62)) - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
    2014-09-10 15:05:20,401 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:zookeeper.version=3.4.6-1569965, built on 02/20/2014 09:09 GMT
    2014-09-10 15:05:20,401 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:host.name=[...]
    2014-09-10 15:05:20,401 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:java.version=1.7.0_60
    2014-09-10 15:05:20,401 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:java.vendor=Oracle Corporation
    2014-09-10 15:05:20,401 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:java.home=[...]
    2014-09-10 15:05:20,401 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:java.class.path=[...]
    2014-09-10 15:05:20,402 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:java.library.path=[...]
    2014-09-10 15:05:20,402 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:java.io.tmpdir=[...]
    2014-09-10 15:05:20,402 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:java.compiler=<NA>
    2014-09-10 15:05:20,402 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:os.name=Windows 7
    2014-09-10 15:05:20,402 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:os.arch=amd64
    2014-09-10 15:05:20,402 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:os.version=6.1
    2014-09-10 15:05:20,402 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:user.name=[...]
    2014-09-10 15:05:20,402 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:user.home=[...]
    2014-09-10 15:05:20,403 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:user.dir=[...]
    2014-09-10 15:05:20,405 INFO  [main] zookeeper.ZooKeeper (ZooKeeper.java:<init>(438)) - Initiating client connection, connectString=192.168.129.130:2181 sessionTimeout=90000 watcher=hconnection-0x265a7006, quorum=192.168.129.130:2181, baseZNode=/hbase
    2014-09-10 15:05:20,437 INFO  [main] zookeeper.RecoverableZooKeeper (RecoverableZooKeeper.java:<init>(120)) - Process identifier=hconnection-0x265a7006 connecting to ZooKeeper ensemble=192.168.129.130:2181
    2014-09-10 15:05:20,437 INFO  [main-SendThread(192.168.129.130:2181)] zookeeper.ClientCnxn (ClientCnxn.java:logStartConnect(975)) - Opening socket connection to server 192.168.129.130/192.168.129.130:2181. Will not attempt to authenticate using SASL (unknown error)
    2014-09-10 15:05:20,439 INFO  [main-SendThread(192.168.129.130:2181)] zookeeper.ClientCnxn (ClientCnxn.java:primeConnection(852)) - Socket connection established to 192.168.129.130/192.168.129.130:2181, initiating session
    2014-09-10 15:05:20,445 INFO  [main-SendThread(192.168.129.130:2181)] zookeeper.ClientCnxn (ClientCnxn.java:onConnected(1235)) - Session establishment complete on server 192.168.129.130/192.168.129.130:2181, sessionid = 0x1485d39e21a0014, negotiated timeout = 40000
    HBase Namespace Exists[true]!
    ExistsHBaseNamespace(...):关闭与HBase的连接!
    CreateHBaseNamespace(...):关闭与HBase的连接!
    AddRowData(...):关闭与HTable的连接!

    对比看结果显示的,基本了解了C端和S端的沟通情况了!

  • 相关阅读:
    rsync 安装使用详解
    shell全备份脚本(借鉴别人的,在其基础上修复完善了bug)
    完全备份、差异备份以及增量备份的区别
    云主机格式化和挂载数据盘
    JSONP跨域
    php的多线程使用
    tp其他功能
    Zend Guard Loader和Zend Optimizer的安装(更新中)
    前端编码规范
    前端优化
  • 原文地址:https://www.cnblogs.com/yforg/p/3964509.html
Copyright © 2020-2023  润新知