一、


  1.预切割:在创建表的时候,预先对表进行region切割。切割线就是rowkey

$hbase> create 't1', 'f1', SPLITS => ['', '', '', '']
$hbase>create 'ns2:t3',SPLITS=>['row3000','row6000']  //创建表t3,并且进行预先切割
$hbase>desc 'ns2:t3'   //查看列族信息
$hbase>scan 'hbase:meta'   //查看切片信息
$hbaes>put 'ns2:t3','row5000','f1:name','tom'  //向表中添加数据
$hbase>flush 'ns2:t3'        //从内存中清理数据到磁盘中去
$hbase>create 'ns2:t4',{NAME=>'f1',VERSIONS=>3}  //创建表的时候指定列族的版本数,同一个列族下的所有列具有相同的版本数
$hbase>put 'ns2:t4','row1','f1:name','tom'    //向表中添加元素
$hbase>put 'ns2:t4','row1','f1:name','tomas'  //向表中添加元素
$hbase>put 'ns2:t4','row1','f1:name','tomson'
$hbase>get 'ns2:t4','row1'    //我们刚插入了三个数据,但是我们get数据的时候只能看到一个数据,默认查询的时候只显示最新的数据
$hbase>get 'ns2:t4','row1',{COLUMN=>f1,VERSIONS=>3}  //查看最近3个版本的数据
$hbase>get 'ns2:t4','row1',{COLUMN=>f1,VERSION=>2}    //在进行查询的时候可以指定显示的版本数为2
$hbase>get 'ns2:t4','row1',{COLUMN=>'f1',TIMESTAMP=>1531882253591} ############################################接下来演示原生扫描######################################
$hbase>scan 'ns2:t4',{COLUMN=>'f1',RAW=>true,VERSIONS=>10}  //进行原生扫描,扫描的版本数为10,可以将所有的历史版本数的数据都扫描出来
$hbase>scan 'ns2:t4',{COLUMN=>'f1',TTL=>10,VERSIONS=>3}      //创建一个表,存活时间为10秒,版本数为3

  2.创建文件的时候进行预切割,结果如下图,查看WEBUI16010

  

  3.批量与缓存

    1)扫描器缓存,是面向行一级的

 @Test
public void testScanCaching() throws Exception {
Configuration conf =HBaseConfiguration.create();
Connection conn = ConnectionFactory.createConnection(conf);
TableName tname = TableName.valueOf("ns1:t1");
Scan scan = new Scan();
scan.setCaching();
System.out.println(scan.getCaching());
Table table =conn.getTable(tname);
ResultScanner rs = table.getScanner(scan);
Iterator<Result> it= rs.iterator();
long start= System.currentTimeMillis();
while(it.hasNext()){
Result r = it.next();
System.out.println(r.getColumnLatestCell(Bytes.toBytes("f1"),Bytes.toBytes("name"))); }
System.out.println(System.currentTimeMillis()-start);
}

  2)批量扫描是面向列一级的,批量可以让用户选择每次ResultScanner实例的next()操作要返回多少列。比如在扫描中设置setBatch(5),则一次next()返回的Result实例会包括5列

    scan.setBatch(5);//每次next()都返回5列

  

HBASE学习笔记(三)的更多相关文章

  1. HBase学习笔记之HBase的安装和配置

    HBase学习笔记之HBase的安装和配置 我是为了调研和验证hbase的bulkload功能,才安装hbase,学习hbase的.为了快速的验证bulkload功能,我安装了一个节点的hadoop集 ...

  2. HBASE学习笔记(四)

    这两天把要前几天的知识点回顾一下,接下来我会用自己对知识点的理解来写一些东西 一.知识点回顾 1.hbase集群启动:$>start-hbase.sh ===>hbase-daemon.s ...

  3. Oracle学习笔记三 SQL命令

    SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)  

  4. [Firefly引擎][学习笔记三][已完结]所需模块封装

    原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读:        笔记三主要就是各个模块的封装了,这里贴 ...

  5. JSP学习笔记(三):简单的Tomcat Web服务器

    注意:每次对Tomcat配置文件进行修改后,必须重启Tomcat 在E盘的DATA文件夹中创建TomcatDemo文件夹,并将Tomcat安装路径下的webapps/ROOT中的WEB-INF文件夹复 ...

  6. java之jvm学习笔记三(Class文件检验器)

    java之jvm学习笔记三(Class文件检验器) 前面的学习我们知道了class文件被类装载器所装载,但是在装载class文件之前或之后,class文件实际上还需要被校验,这就是今天的学习主题,cl ...

  7. VSTO学习笔记(三) 开发Office 2010 64位COM加载项

    原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(A ...

  8. Java IO学习笔记三

    Java IO学习笔记三 在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类. OutputStreamWriter:是Writer的子类,将输出的 ...

  9. NumPy学习笔记 三 股票价格

    NumPy学习笔记 三 股票价格 <NumPy学习笔记>系列将记录学习NumPy过程中的动手笔记,前期的参考书是<Python数据分析基础教程 NumPy学习指南>第二版.&l ...

随机推荐

  1. [CSP-S模拟测试]:表格(动态开点二维线段树+离散化)

    题目传送门(内部题112) 输入格式 一个数$N$,表示矩形的个数. 接下来$N$行,每行四个整数$X_a,Y_a,X_b,Y_b$.分别表示每个矩形左下角和右上角的坐标. 保证$(X_a<X_ ...

  2. kotlin实现流读取

    在Java对流的读取是下面的那样,当前不要忘记流的关闭close. // java 代码void someFunc(InputStream in, OutputStream out) throws I ...

  3. Java中for each与正常for循环效率对比

    循环ArrayList时,普通for循环比foreach循环花费的时间要少一点:循环LinkList时,普通for循环比foreach循环花费的时间要多很多. 当我将循环次数提升到一百万次的时候,循环 ...

  4. eclipse安装错误的解决办法

    eclipse安装错误的解决办法 Eclipse 是一个集成开发环境,如Java,C,C++,PHP等安装Eclipse首先得先安装java的Jdk或者Jre 首先访问https://www.ecli ...

  5. 【Spark机器学习速成宝典】模型篇08保序回归【Isotonic Regression】(Python版)

    目录 保序回归原理 保序回归代码(Spark Python) 保序回归原理 待续... 返回目录 保序回归代码(Spark Python) 代码里数据:https://pan.baidu.com/s/ ...

  6. 类组件(Class component)和函数式组件(Functional component)之间有何不同

    类组件不仅允许你使用更多额外的功能,如组件自身的状态和生命周期钩子,也能使组件直接访问 store 并维持状态当组件仅是接收 props,并将组件自身渲染到页面时,该组件就是一个 ‘无状态组件(sta ...

  7. 查看进程CPU、内存使用情况

    本文介绍通过ps和top查看进程的cpu.内存等使用情况. 1.ps命令 1.1 概览 ps命令相关参数定义: -e 或者-A,选择所有的进程: -L 显示线程: -o 自定义输出格式: 输出格式: ...

  8. 机器学习之K近邻算法

    K 近邻 (K-nearest neighbor, KNN) 算法直接作用于带标记的样本,属于有监督的算法.它的核心思想基本上就是 近朱者赤,近墨者黑. 它与其他分类算法最大的不同是,它是一种&quo ...

  9. Bresenham’s algorithm( 布兰森汉姆算法)画直线

    Bresenham直线算法是用来描绘由两点所决定的直线的算法,它会算出一条线段在 n 维光栅上最接近的点.这个算法只会用到较为快速的整数加法.减法和位元移位,常用于绘制电脑画面中的直线.是计算机图形学 ...

  10. Private Variable

    Any variable defined inside a function is considered private since it is inaccessable outside that f ...