首页 > 代码库 > HBase的put简单对比

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 applicable2014-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 GMT2014-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_602014-09-10 15:18:12,964 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:java.vendor=Oracle Corporation2014-09-10 15:18:12,964 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:java.home=D:\JAVA\jre72014-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 72014-09-10 15:18:12,965 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:os.arch=amd642014-09-10 15:18:12,965 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:os.version=6.12014-09-10 15:18:12,965 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:user.name=LFF2014-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=/hbase2014-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:21812014-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 session2014-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 = 40000HBase 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 applicable2014-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 GMT2014-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_602014-09-10 15:05:20,401 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:java.vendor=Oracle Corporation2014-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 72014-09-10 15:05:20,402 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:os.arch=amd642014-09-10 15:05:20,402 INFO  [main] zookeeper.ZooKeeper (Environment.java:logEnv(100)) - Client environment:os.version=6.12014-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=/hbase2014-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:21812014-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 session2014-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 = 40000HBase Namespace Exists[true]!ExistsHBaseNamespace(...):关闭与HBase的连接!CreateHBaseNamespace(...):关闭与HBase的连接!AddRowData(...):关闭与HTable的连接!

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

 

HBase的put简单对比