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:\JAVA\jre7
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端的沟通情况了!

时间: 2024-12-10 09:54:31

HBase的put简单对比的相关文章

PHP静态延迟绑定和普通静态效率简单对比

只是一个简单的小实验,对比了下 延迟绑定 和 非延迟的效率 延迟绑定主要就是使用 static 关键字来替代原来的 self ,但功能非常强大了 实验代码: class A { protected static $cc1 = array('a1', 'b', 'c', 'd'); protected static $cc2 = array('a2', 'b', 'c', 'd'); protected static $cc3 = array('a3', 'b', 'c', 'd'); prote

Fedora 26Alpha LXDE简单对比LXQT的资源使用,到底到底哪个更省硬件资源,告诉你答案

带有截图的文章地址:http://baijiahao.baidu.com/builder/preview/s?id=1566709180424027 本文只摘取其中的结果 分析下:不打开任何程序的时候,LXDE大概剩余内存1595Mib:LXQT大概剩余1542Mib 打开文件管理器后:LXDE大概剩余内存1595Mib:LXQT大概剩余1533Mib 安装包数:LXDE 为1200:LXQT为1227. 由于未联网,不方便安装其他更多软件,故只对比到这基本可以看出LXDE在资源使用上更加节省一

HTTPS, SPDY和 HTTP/2性能的简单对比

中文原文:HTTPS, SPDY和 HTTP/2性能的简单对比 整理自:A Simple Performance Comparison of HTTPS, SPDY and HTTP/2 请尊重版权,转载请注明来源,谢谢! 这几天手机不断被联通劫持,用知乎日报都会被插入联通的垃圾广告,更别说在微信中访问第三方网站了.于是关注了一下防止网站被运营商劫持的技术,这里推荐Fenng之前发的文章,在流氓无下限的运营商的手段下面,我们能做的其实并不多.而HTTPS和SPDY其实是更好的技术,不仅能保证不被

MongoDB中insert方法、update方法、save方法简单对比

MongoDB中insert方法.update方法.save方法简单对比 1.update方法 该方法用于更新数据,是对文档中的数据进行更新,改变则更新,没改变则不变. 2.insert方法 该方法用于插入数据到文档中,也就是给文档添加新数据. 3.save方法 该方法同样用于插入数据到文档中,功能是类似于insert方法的.与insert方法不同的是, save方法是遍历文档,逐条将数据插入进去的,而insert方法是将整个文档整体插入进去的. 由两个方法的源码可以看出来. save方法的写法

Cortex系列M0-4简单对比

[转贴]Cortex系列M0-4简单对比 原文路径:http://blog.sina.com.cn/s/blog_7dbd9c0e01018e4l.html 针对目前进入大众视野的M0.M3.M4做了如下简单对比,内容来自ARM等官网,这里仅仅是整理了下,看起来更直观点,呵呵. Cortex-M 系列针对成本和功耗敏感的 MCU 和终端应用(如智能测量.人机接口设备.汽车和工业控制系统.大型家用电器.消费性产品和医疗器械)的混合信号设备进行过优化.. 一.比较 Cortex-M 处理器 Cort

【转贴】Cortex系列M0-4简单对比

转载网址:http://blog.sina.com.cn/s/blog_7dbd9c0e01018e4l.html 最近搞了块ST的Cortex-M4处理器,然后下了本文档.分享一下. 针对目前进入大众视野的M0.M3.M4做了如下简单对比,内容来自ARM等官网,这里仅仅是整理了下,看起来更直观点,呵呵. Cortex-M 系列针对成本和功耗敏感的 MCU 和终端应用(如智能测量.人机接口设备.汽车和工业控制系统.大型家用电器.消费性产品和医疗器械)的混合信号设备进行过优化.. 一.比较 Cor

MongoDB和关系型数据库简单对比

MongoDB 是一个跨平台的,面向文档的数据库,提供高性能,高可用性和可扩展性方便. MongoDB 工作在收集和文件的概念. 数据库:数据库是一个物理容器集合.每个数据库都有自己的一套文件系统上的文件.一个单一的MongoDB服务器通常有多个数据库. 集合:集合是一组MongoDB的文档.它相当于一个RDBMS表.收集存在于一个单一的数据库.集合不执行模式.集合内的文档可以有不同的领域.通常情况下,一个集合中的所有文件是相同或相关的目的. 文档:文档是一组键 - 值对. 文件动态模式.动态模

[评测]低配环境下,PostgresQL和Mysql读写性能简单对比

[评测]低配环境下,PostgresQL和Mysql读写性能简单对比 原文链接:https://www.cnblogs.com/blog5277/p/10658426.html 原文作者:博客园--曲高终和寡 *******************如果你看到这一行,说明爬虫在本人还没有发布完成的时候就抓走了我的文章,导致内容不完整,请去上述的原文链接查看原文**************** 由于最近经过朋友启发,又有了一个写个人项目的小想法,在这次个人项目中准备学习并使用一些之前自己没有掌握的新

[转]基于Hbase的一个简单的商品推荐系统

基于Hbase的一个简单的商品推荐系统 博客分类: 架构 纵观业界的电商网站,我站在一个用户的角度来看,商品推荐有很多种: 一种是通过我搜索.查看的那件商品的,系统统计出搜索.查看该商品的其他用户搜索.查看其他商品的次数,把排名靠前的推荐给我,当当的一个栗子: 我查看了<Hadoop 权威指南>,系统给我推荐了一堆其他的书: 一种是通过我最近的搜索.查看过商品,系统给我推荐一些它认为我感兴趣的商品,淘宝的一个栗子: 还有几种,感觉挺有意思的: 特别是这个,搜索Hadoop 的用户,最终很多人都