Hyperbase常用SQL
1、创建表
1.1 建HBase内表
CREATE TABLE hbase_inner_table(
key1 string,
bi bigint,
dc decimal(10,2),
ch varchar(10),
ts timestamp,
en string
)STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler';
-- 创建了一张名为 hbase_inner_table 的内表,存储格式为 HBaseStorageHandler 。 1.2 建HBase外表
CREATE EXTERNAL TABLE hbase_external_table(
key1 string,
ex1 double,
ex3 date,
ex5 string
)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping"=":key,f:q1,f:q4,f:q5") ①
TBLPROPERTIES ("hbase.table.name"="test.hbase_inner_table");②
-- ① 指定外表 hbase_external_table 和已存在的 hbase_inner_table 表的列映射关系。
-- ② 指定外表 hbase_external_table 中的列与源表的映射关系。映射时数据类型强行转换,转换失败则 为NULL。 2、为内表 hbase_inner_table 添加列
ALTER TABLE hbase_inner_table ADD COLUMNS (bl boolean);
-- 对表hbase_inner_table添加了一个数据类型为 boolean 列bl。 3、清空内表 hbase_inner_table
TRUNCATE TABLE hbase_inner_table;
-- 表中数据被清空,但表的元数据信息仍存在,可通过 DESCRIBE FORMATTED 查看。 4、删除表
DROP TABLE <tableName>; 5、创建索引
5.1 为内表 hbase_inner_table 创建全局索引
CREATE GLOBAL INDEX ch_global ON hbase_inner_table(ch(10));
-- 根据列ch创建一个名为ch_global的全局索引,并指定该索引字段的长度为10. 5.2 为内表 hbase_inner_table 创建全文索引
CREATE FULLTEXT INDEX ON hbase_inner_table(bi,ch,en) SHARD NUM 1;
-- 为内表hbase_inner_table根据列en、cn来创建全文索引 6、删除索引
6.1 删除全局索引:ch_global
DROP INDEX ch_global ON hbase_inner_table; 6.2 删除内表 hbase_inner_table 的全文索引
DROP FULLTEXT INDEX ON hbase_inner_table;
-- 目前HBase不支持使用SQL生成索引,您可以从hbase shell中执行 rebuild 指令来生成索引 7、插入数据
7.1 向hbase_inner_table表中单条插入数据
INSERT INTO hbase_inner_table
VALUES('001',1,1.01,'Hyperbase','2017-01-08 20:31:46','sunday',true);
INSERT INTO hbase_inner_table
VALUES('002',2,2.01,'transwarp hbase','2017-01-09 10:25:45','monday',true);
INSERT INTO hbase_inner_table
VALUES('003',3,3.01,'hbase','2017-01-10 15:05:20','tuesday',false); 7.2 向hbase_inner_table表中批量插入数据
BATCHINSERT INTO hbase_inner_table BATCHVALUES (
VALUES('004',4,4.01,'esdrive','2017-01-11 15:05:20','wednesday',false),
VALUES('005',5,5.01,'transwarp es','2017-01-12 15:18:18','thursday',false),
VALUES('006',6,6.01,'hyperdrive','2017-01-13 05:13:13','friday',false),
VALUES('007',7,7.01,'inceptor','2017-01-14 10:55:20','saturday',false),
VALUES('008',8,8.01,'fulltext','2017-01-15 17:23:40','tuestuesday',false)
); 8、更新数据
update hbase_inner_table set bl=false where key1='001'; 9、删除记录
DELETE FROM hbase_inner_table WHERE key1='001'; 10、利用索引查询
set ngmr.exec.mode=local;
-- 该参数设置完成后才能利用索引进行有效的查询 10.1 全局索引
10.1.1 用全局索引ch_global查询
select/*+USE_INDEX(t1 USING ch_global)*/ * from hbase_inner_table t1 where ch='hbase'and bl=false;
-- 利用全局索引‘ch_global’查询列ch中值为‘hbase’,且列bl值为false的记录。 10.1.2 不使用全局索引进行查询
select/*+USE_INDEX(t1 USING NOT_USE_INDEX)*/ key1, bi, dc, ch, ts, en, bl from hbase_inner_table t1 where ch='hbase'and bl=false;
-- 不利用索引查询列ch值为‘hbase’,且列bl值为false的记录。 10.2 全文索引
10.2.1 精确匹配(term)
select * from hbase_inner_table where contains(en, "term 'tuesday'"); 10.2.2 前缀匹配(prefix)
select * from hbase_inner_table where contains(en, "prefix 'tues'"); 10.2.3 模糊查询(wildcard)
select * from hbase_inner_table where contains(en, "wildcard 'tues*day'");
-- 查询 \* 前的字符 tues出现任意次,且以 day结尾记录。 10.2.4 多个操作符查询
select * from hbase_inner_table where contains(en, "wildcard 'tues*day'") and contains(bi,"term '3'"); 10.2.5 in表达式(in)//枚举
select * from hbase_inner_table where contains(en, "in 'sunday,monday'"); 10.2.6 正则表达式(regexp)
select * from hbase_inner_table where contains(en, "regexp 's.*y'");
-- 查询en列满足正则表达式为 's.*y' 的记录,.* 表示 s和 y间可出现任意个字符。 10.2.7 全文检索(match)
select * from hbase_inner_table where contains(en, "match 'tuesday'");
-- 不要对非 STRING 类型进行模糊、前缀、正则等查询。如果是对数字类型的进行范围查询,则需保证该列的数据类型为 #b 才可以 10.2.8 范围查询
select * from hbase_inner_table where contains(bi, "> '6'"); 10.2.9 范围表达式(range)
select * from hbase_inner_table where contains(bi, "range '[1,3)'");
Hyperbase常用SQL的更多相关文章
- Mysql 常用 SQL 语句集锦
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- oracle(sql)基础篇系列(一)——基础select语句、常用sql函数、组函数、分组函数
花点时间整理下sql基础,温故而知新.文章的demo来自oracle自带的dept,emp,salgrade三张表.解锁scott用户,使用scott用户登录就可以看到自带的表. #使用ora ...
- 常用SQL[ORACLE]
1.常用系统函数 2.常用sql语句 3.一些定义和关键字 4.需要注意点 1.常用系统函数 ↑ --decode decode(column,if_value,value,elseif_ ...
- Oracle常用SQL查询(2)
三.查看数据库的SQL 1 .查看表空间的名称及大小 select t.tablespace_name, round ( sum (bytes / ( 1024 * 1024 )), 0 ) ts ...
- Oracle常用SQL查询
一.ORACLE的启动和关闭 1.在单机环境下要想启动或关闭oracle系统必须首先切换到oracle用户,如下: su - oracle a.启动Oracle系统 oracle>svrmgrl ...
- Mysql 常用 SQL 语句集锦 转载(https://gold.xitu.io/post/584e7b298d6d81005456eb53)
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...
- 50个常用SQL语句
50个常用SQL语句 Student(S#,Sname,Sage,Ssex) 学生表 S#学号,主键 Course(C#,Cname,T#) 课程表 C#课程号,主键 SC(S#, ...
- 测试常用SQL注入语句大全
转载自Cracer,标题:<渗透常用SQL注入语句大全>,链接http://www.xxxx.com/?p=2226 1.判断有无注入点 整形参数判断 1.直接加' 2.and 1=1 3 ...
- oracle sqlplus及常用sql语句
常用sql语句 有需求才有动力 http://blog.csdn.net/yitian20000/article/details/6256716 常用sql语句 创建表空间:create tables ...
随机推荐
- 第6章 未来的函数:生成器和promise
目录 1. 生成器函数 1.1 定义生成器函数 1.2 迭代器对象 1.3 对迭代器进行迭代 1.4 把执行权交给下一个生成器 2. 使用生成器 2.1 用生成器生成ID 2.2 用迭代器遍历DOM树 ...
- 【Redis3.0.x】配置文件
Redis3.0.x 配置文件 概述 Redis 的配置文件位于Redis安装目录下,文件名为 redis.conf. 可以通过 CONFIG 命令查看或设置配置项. Redis 命令不区分大小写. ...
- oracle坚决不挂01(表,索引,视图的创建,修改,删除,查询)
考试快来了,来篇oracle干货,复习一下(挣扎一下) 废话不多说,开始写! 这篇是数据库对象的有关操作的总结! 数据库对象有熟悉的表,视图,索引,序列,同义词等(这个oracle东西真不少,小声bb ...
- CTFHub - Web(六)
命令注入: 1.进入页面,测试127.0.0.1, 关键代码: <?php $res = FALSE; if (isset($_GET['ip']) && $_GET['ip'] ...
- Docker安装配置及华为云镜像加速
Docker华为云镜像加速 软件介绍 支持的操作系统 docker安装 docker镜像加速(华为云实现) 1.登录华为云网站,注册华为云账户 2.登录华为云账户,点击网页右上角的控制台 3.点击左上 ...
- 华为刘腾:华为终端云Cassandra运维实践分享
点击此处观看完整活动视频 各位线上的嘉宾朋友大家好,我是来自华为消费者BG云服务部的刘腾,我今天给大家分享的主题是华为终端云Cassandra运维实践.和前面王峰老师提到的Cassandra在360中 ...
- VMware下安装Ubantu 18.04
一.VIM安装及配置 1.安装VIM sudo apt-get install vim 二.拼音输入法以及搜狗拼音输入法安装 1.安装Fcitx输入框架 sudo apt-get install fc ...
- 09--Docker 安装tomcat9
1.在hub.docker.com中获取tomcat拉取地址 docker pull tomcat:9.0.41-jdk8-corretto 2.查看Dockerfile 中WORKDIR 为/use ...
- 与数论的厮守05:gcd(a,b)=gcd(b,a mod b)的证明
\[设c=gcd(a,b),那么a可以表示为mc,b可以表示为nc的形式.然后令a=kb+r,那么我们就\\ 只需要证明gcd(b,r)=c即可.{\because}r=a-kb=mc-knc,{\t ...
- Centos7下安装MySQL8.0.23-小白的开始
首先简单介绍一下什么叫MySQL: 数据库简而言之就是存储数据的仓库,为了方便数据的存储和管理,它将数据按照特定的规律存储在磁盘上.是为了实现一定的目的,按照某种规则组织起来的数据的集合: MySQL ...