1. /**
  2. * Created by similarface on 16/8/16.
  3. */
  4.  
  5. import java.io.IOException;
  6.  
  7. import org.apache.hadoop.conf.Configuration;
  8. import org.apache.hadoop.hbase.HBaseConfiguration;
  9. import org.apache.hadoop.hbase.TableName;
  10. import org.apache.hadoop.hbase.client.Connection;
  11. import org.apache.hadoop.hbase.client.ConnectionFactory;
  12. import org.apache.hadoop.hbase.client.Get;
  13. import org.apache.hadoop.hbase.client.Table;
  14. import org.apache.hadoop.hbase.client.Put;
  15. import org.apache.hadoop.hbase.client.Result;
  16. import org.apache.hadoop.hbase.util.Bytes;
  17. import org.apache.hadoop.hbase.client.BufferedMutator;
  18. import org.apache.hadoop.hbase.Cell;
  19. import org.apache.hadoop.hbase.CellUtil;
  20. import org.apache.hadoop.hbase.client.Mutation;
  21. import java.util.List;
  22. import java.util.ArrayList;
  23. public class PutBufferExample {
  24. public static void main(String[] args) throws IOException {
  25. //获取陪着参数
  26. Configuration config = HBaseConfiguration.create();
  27. //建立连接
  28. Connection connection = ConnectionFactory.createConnection(config);
  29. try {
  30. //连接表 获取表对象
  31. Table t = connection.getTable(TableName.valueOf("testtable"));
  32. BufferedMutator table = connection.getBufferedMutator(TableName.valueOf("testtable"));
  33. try {
  34. Put p = new Put(Bytes.toBytes("myrow-1"));
  35. //p.add(); 这个地方的add 是个过期的方法然而我并不知道Cell的用法是什么
  36. p.add(Bytes.toBytes("colfam1"), Bytes.toBytes("name1"), Bytes.toBytes("zhangsan1"));
  37. //table.put(p);
  38. List<Mutation> mutations = new ArrayList<Mutation>();
  39. mutations.add(p);
  40. table.mutate(mutations);
  41. //如果不flush 在后面get可能是看不见的
  42. table.flush();
  43. // Close your table and cluster connection.
  44. Get get=new Get(Bytes.toBytes("myrow-1"));
  45. Result result=t.get(get);
  46. for(Cell cell:result.rawCells()){
  47. System.out.print("行健: "+new String(CellUtil.cloneRow(cell)));
  48. System.out.print("\t列簇: "+new String(CellUtil.cloneFamily(cell)));
  49. System.out.print("\t列: "+new String(CellUtil.cloneQualifier(cell)));
  50. System.out.print("\t值: "+new String(CellUtil.cloneValue(cell)));
  51. System.out.println("\t时间戳: "+cell.getTimestamp());
  52. }
  53. System.out.print(">>>>end");
  54. } finally {
  55. if (table != null) table.close();
  56. }
  57. } finally {
  58. connection.close();
  59. }
  60. }
  61. }

  

Hbase之批量数据写入的更多相关文章

  1. POI解析excel,将批量数据写入文件或数据库

    .personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...

  2. hbase 从hbase上读取数据写入到hdfs

    Mapper package cn.hbase.mapreduce.hb2hdfs; import java.io.IOException; import org.apache.hadoop.hbas ...

  3. [转帖]时序数据库技术体系 – InfluxDB TSM存储引擎之数据写入

    时序数据库技术体系 – InfluxDB TSM存储引擎之数据写入 http://hbasefly.com/2018/03/27/timeseries-database-6/  2018年3月27日  ...

  4. 使用bulkload向hbase中批量写入数据

    1.数据样式 写入之前,需要整理以下数据的格式,之后将数据保存到hdfs中,本例使用的样式如下(用tab分开): row1 N row2 M row3 B row4 V row5 N row6 M r ...

  5. hbase大规模数据写入的优化历程

    业务背景:由于需要将ngix日志过滤出来的1亿+条用户行为记录存入Hbase数据库,以此根据一定的条件来提供近实时查询,比如根据用户id及一定的时间段等条件来过滤符合要求的若干行为记录,满足这一场景的 ...

  6. HBase - 数据写入流程解析

    本文由  网易云发布. 作者:范欣欣 本篇文章仅限内部分享,如需转载,请联系网易获取授权. 众所周知,HBase默认适用于写多读少的应用,正是依赖于它相当出色的写入性能:一个100台RS的集群可以轻松 ...

  7. 亿级用户下的新浪微博平台架构 前端机(提供 API 接口服务),队列机(处理上行业务逻辑,主要是数据写入),存储(mc、mysql、mcq、redis 、HBase等)

    https://mp.weixin.qq.com/s/f319mm6QsetwxntvSXpKxg 亿级用户下的新浪微博平台架构 炼数成金前沿推荐 2014-12-04 序言 新浪微博在2014年3月 ...

  8. 大数据学习day34---spark14------1 redis的事务(pipeline)测试 ,2. 利用redis的pipeline实现数据统计的exactlyonce ,3 SparkStreaming中数据写入Hbase实现ExactlyOnce, 4.Spark StandAlone的执行模式,5 spark on yarn

    1 redis的事务(pipeline)测试 Redis本身对数据进行操作,单条命令是原子性的,但事务不保证原子性,且没有回滚.事务中任何命令执行失败,其余的命令仍会被执行,将Redis的多个操作放到 ...

  9. HBase 高性能获取数据(多线程批量式解决办法) + MySQL和HBase性能测试比较

    摘要:   在前篇博客里已经讲述了通过一个自定义 HBase Filter来获取数据的办法,在末尾指出此办法的性能是不能满足应用要求的,很显然对于如此成熟的HBase来说,高性能获取数据应该不是问题. ...

随机推荐

  1. Codeforces Round #370 (Div. 2) B

    Description Memory is performing a walk on the two-dimensional plane, starting at the origin. He is ...

  2. Codeforces Round #366 (Div. 2) B

    Description Peter Parker wants to play a game with Dr. Octopus. The game is about cycles. Cycle is a ...

  3. 解析xml,几种方式

    市面上解析xml分两种方式,1.dom  2.sax ,xml解析常见的一共有三种开发包,1.jaxp  2.jdom  3.dom4j,这三种方式最常用的是dom4j,jaxp和jdom很少有人用, ...

  4. log4j中文乱码解决方案

    项目中log4j在英文版linux下输出中文日志为乱码. 由于log4j配置文件中没有设置编码格式(encoding),所以log4j就使用系统默认编码.导致乱码. 解决方法是设置编码格式UTF-8, ...

  5. Python3基础 print 输出hello world

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  6. JS常用的腳本庫--包括在線編輯器

    原文链接 一.基本库 1.jQuery a.简介 JQuery是继prototype之后又一个优秀的Javascript库.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, F ...

  7. missing sdkl in .NET Core 1.0.1 - VS 2015 Tooling Preview 2

    打开项目的时候,提示缺少sdk 在C:\Program Files\dotnet\sdk找不到对应的版本 解决方法: https://github.com/aspnet/Tooling/blob/ma ...

  8. [CF353C]Find Maximum(贪心)

    题目链接:http://codeforces.com/contest/353/problem/C 题意:给你一串数字a[]和一个二进制串,要求找一个不超过m的二进制数,使得与对应a[]上的数字的乘积和 ...

  9. iOS适配(Masonry)

    1.各屏幕大小 设备 尺寸 像素 点 iPhone \ iPhone 3G \ iPhone 3GS 3.5 inch 320 x 480 320 x 480 iPhone 4 \ iPhone 4S ...

  10. zoj 1081 判断点在多边形内

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=81Points Within Time Limit: 2 Second ...