hbase shell插入根据条件查询数据
hbase shell插入根据条件查询数据
创建并插入数据:
hbase(main):179:0> create 'scores','grade','course'
hbase(main):180:0> put 'scores','zhangsan01','course:art','90'
hbase(main):181:0> scan 'scores'
ROW COLUMN+CELL
zhangsan01 column=course:art, timestamp=1498003561726, value=90
1 row(s) in 0.0150 seconds
hbase(main):182:0> put 'scores','zhangsan01','course:math','99',1498003561726
(这里手动设置时间戳的时候一定不能大于你当前的系统时间,否则的话无法删除该数据,我这里手动设置数据是为了下面的DependentColumnFilter过滤器试验。你可以查看一下插入第一条数据的时间戳,再插入第二条数据的时间戳为第一条数据的时间戳)
hbase(main):183:0> put 'scores','zhangsan01','grade:','101'
问题:当我将这条插入的数据删除之后再执行put 'scores','zhangsan01','grade:','101',1498003561726后能成功却scan 'scores'后没有该条数据,而再执行put 'scores','zhangsan01','grade:','101'后scan 'scores'却能查到该条数据。如果想插入该条数据的时候手动设置时间戳的话,必须在第一次插入该条数据或者truncate后再插入。
hbase(main):184:0> put 'scores','zhangsan02','course:art','90'
hbase(main):185:0> get 'scores','zhangsan02','course:art'
COLUMN CELL
course:art timestamp=1498003601365, value=90
1 row(s) in 0.0080 seconds
hbase(main):186:0> put 'scores','zhangsan02','grade:','102',1498003601365
hbase(main):187:0> put 'scores','zhangsan02','course:math','66',1498003561726
hbase(main):188:0> put 'scores','lisi01','course:math','89',1498003561726
hbase(main):189:0> put 'scores','lisi01','course:art','89'
hbase(main):190:0> put 'scores','lisi01','grade:','201',1498003561726
查询数据:
根据rowkey查询:
hbase(main):187:0> get 'scores','zhangsan01'
COLUMN CELL
course:art timestamp=1498003561726, value=90
course:math timestamp=1498003561726, value=99
grade: timestamp=1498003593575, value=101
3 row(s) in 0.0160 seconds
根据列名查询:
hbase(main):188:0> scan 'scores',{COLUMNS=>'course:art'}
ROW COLUMN+CELL
lisi01 column=course:art, timestamp=1498003655021, value=89
zhangsan01 column=course:art, timestamp=1498003561726, value=90
zhangsan02 column=course:art, timestamp=1498003601365, value=90
3 row(s) in 0.0120 seconds
查询两个rowkey之间的数据:
hbase(main):205:0> scan 'scores',{STARTROW=>'zhangsan01',STOPROW=>'zhangsan02'}
ROW COLUMN+CELL
zhangsan01 column=course:art, timestamp=1498003561726, value=90
zhangsan01 column=course:math, timestamp=1498003561726, value=99
zhangsan01 column=grade:, timestamp=1498003593575, value=101
1 row(s) in 0.0140 seconds
查询两个rowkey且根据列名来查询:
hbase(main):206:0> scan 'scores',{COLUMNS=>'course:art',STARTROW=>'zhangsan01',STOPROW=>'zhangsan02'}
ROW COLUMN+CELL
zhangsan01 column=course:art, timestamp=1498003561726, value=90
1 row(s) in 0.0110 seconds
查询指定rowkey到末尾根据列名的查询:
hbase(main):207:0> scan 'scores',{COLUMNS=>'course:art',STARTROW=>'zhangsan01',STOPROW=>'zhangsan09'}
ROW COLUMN+CELL
zhangsan01 column=course:art, timestamp=1498003561726, value=90
zhangsan02 column=course:art, timestamp=1498003601365, value=90
2 row(s) in 0.0310 seconds
hbase shell插入根据条件查询数据的更多相关文章
- 第四部分 数据搜索之使用HBASE的API实现条件查询
因为数据清洗部分需要用到Mapreduce,所以先解决hbase的问题,可以用命令先在hbase存一下简单的数据进行查询,之后只要替换数据就可以实现了原本功能 在看该部分前,确保Hase API看了, ...
- Hbase多条件查询数据(FilterList)
利用Filter进行筛选:HBase的Scan可以通过setFilter方法添加过滤器(Filter),这也是分页.多条件查询的基础.HBase为筛选数据提供了一组过滤器,通过这个过滤器可以在HBas ...
- 第六部分 数据搜索之使用HBASE的API实现条件查询
题目 使用HADOOP的MAPReduce,实现以下功能: (1)基于大数据计算技术的条件查询:使用mapreduce框架,实现类似Hbase六个字段查询的功能 (2)时段流量统计:以hh:mm:ss ...
- MyBatis 传入List集合作为条件查询数据
使用的是SSM框架,数据库是MySQL,做查询的时候传入List集合,使用SQL语句的in方式查询数据 主要有两点问题:我的List集合是利用的另外一个语句查询出来的,传入参数是int类型,返回值是i ...
- C# winform窗体设计-通过条件查询数据
在winform 数据库设计中,有时候需要通过条件查询对应的数据,并且将数据显示在文本框(or 富文本框)中,下面,小编将讲述通过一个条件: 首先,我们需要对数据库建立连接,并且执行数据库命令,在此之 ...
- Laravel条件查询数据单条数据first,多条数据get
使用DB查询,必须use Illuminate\Support\Facades\DB; 多数组条件查询单条数据 first() //提交加入我们数据 public function ajax_join ...
- linux shell脚本连接oracle查询数据插入文件和日志文件中
#!/bin/sh sqlplus "用户名/密码@数据库"<<EOF 或者只有一个库的 :sqlplus "用户名/密码"<<EOF ...
- MySql 按日期条件查询数据
本周内: select * from wap_content where week(created_at) = week(now) 查询一天: select * from table where to ...
- 在PLSQL中不能使用中文作为查询条件查询数据
解决方法: 1.在oracle服务端的注册表中找到oracle-->key_oradb11g_home1,在右侧找到NLS_LANG,将其数值数据改为SIMPLIFIED CHINESE_CH ...
随机推荐
- <HTTP权威指南>记录 ---- 网络爬虫
网络爬虫 网络爬虫(web crawler)能够在无需人类干预的情况下自动进行一系列Web事务处理的软件程序.很多爬虫会从一个Web站点逛到另一个Web站点,获取内容,跟踪超链,并对它们找到的数据进行 ...
- Activator.CreateInstance with parameters
https://docs.microsoft.com/en-us/dotnet/api/system.activator.createinstance?view=netframework-4.8#Sy ...
- 慕课-tooltip提示框总结
在慕课上学Waynej老师的tooltip浮动提示框,老师每次讲课都会强调搬砖的流程,这点在上了老师的几节课后宝宝终于体会到了: 分析→设计→编码→优化 分析:分析该功能到底是怎样的,其实就是需求分析 ...
- Day 56 jquery
一 .事件委托实例 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset=&q ...
- inode的若干锚
/** * __insert_inode_hash - hash an inode * @inode: unhashed inode * @hashval: unsigned long value u ...
- python外星人入侵(游戏开发)
实现的项目要求: 1.外星人游戏添加飞船上下移动功能: 2.为游戏添加背景音乐: 3.在玩家得分.最高得分.玩家等级前添加"Score"."High Score" ...
- Mybatis简介与原理
经常面试别人或者被面试,对Mybatis简介与原理这个问题的回答千差万别,为了更好的服务与以后,来个原理介绍. 什么是Mybatis MyBatis 本是apache的一个开源项目iBatis, 20 ...
- Spring IOC DI AOP 的简单理解及应用
Spring两大特性:IOC 和AOP.IOC 控制反转,AOP 面向切面编程 spring 核心容器的主要组件时Bean工厂(BeanFactory) ,Bean 工厂使用控制反转模式来降低程序代码 ...
- 对python中的__name__的理解
一开始学习python的时候,不理解python中的__name__的用途,一致感觉__name__的返回结果就是__main__ 今天系统的看了一下,才理解过来,__name__真正的用处是用在使用 ...
- Python的基本数据类型,用户交互
整数: int 常见的数字都是int类型. 用于计算或者大小的比较 在32位机器上int的范围是: -2**31-2**31-1,即-2147483648-2147483647 在64位机器上int的 ...