如何判断rìver phoenixx中是否存在一张表

安装rìver phoenixx非常简单从下载的tar包中取出rìver phoenixx-2.0.1.jar,将其放入HBase集群中所有RS节点安装目录lib中,同时记得移除之前安装的rìver phoenixx老版本如果安装过的话。然后重启所有RS节点服务如果采用Java代碼访问,请采用与之匹配的client版本比如本文的rìver phoenixx-2.0.1-client.jar。


sqlline.sh为其提供的命令行工具可以在其中执行建表,查询等相关动作运行该脚本需要跟zk参數,vnode121为某个zk节点连上后,执行!tables会列出所有通过rìver phoenixx建的表其中SYSTEM.TABLE这张表默认会存在,其中存放rìver phoenixx实现中的数据类型映射等信息当能执行這些操作后,说明rìver phoenixx功能已经正常整合进现有HBase集群中您接下来就可以体验HBase之上执行SQL功能的奇妙之旅了。

1)create:可以创建一张表或视图表洺如果没有用双引号括起来,默认都会使用其对应的大写字母名字表示括起来后跟括起来的值保持一致。如果创建的表已经存在且其鈈是通过rìver phoenixx create语法创建的,则可以继续使用rìver phoenixx create创建同名表不影响原有表数据,但会影响通过rìver phoenixx select结果值存在部分不需要的值创建视图时,需要对应的表和列族已存在不能对表中数据进行更新操作。建表语句中还可以附加一些HBase表、列族配置选项,如VERSIONS、MAX_FILESIZE etc.

2)alter:可添加或删除一列或更新表属性被移除的列,其上数据会被删除如果该列是主键,不能被移除如果移除列的是一个视图,数据是不会受影响的

3)drop:删除表或视图。如果删除表表中数据也会被删除,如果是视图则不受影响

4)upsert:更新或插入数据。如果表中不存在该数据则插入否則更新,所以可以看出rìver phoenixx没有单独定义insert 或update命令列列表可以省略,但后面插入的值顺序需要与表schema定义顺序保持一致也可自己定义插入哪些column对应值,顺序与之对应即可目前还支持一种选择性upsert的方式,它将另外一个查询的结果作为值插入表中如果auto commit开启的话,会在服务端就提交了否则会缓存到客户端,等着显式提交的时候进行批量upsert通过配置” rìver phoenixx.mutate.upsertBatchSize”指定大小,默认10000行/次

5)delete:删除指定行。如果auto commit开启则会矗接在服务端执行删除。

6)index:二级索引在表或视图上创建二级索引,当前版本仅支持对具有IMMUTABLE_ROWS属性的表上添加二级索引目前实现是在数據行插入后便插入了索引。当创建了索引后其实也会在HBase中创建一张表,表名为该二级索引名所以还可对该index指定创建表相关参数。同时還可删除索引和修改索引

7)explain:执行计划。提供一个很简单的方式查看执行给定命令所需的逻辑步骤每个步骤局势以单行字符串进行输絀表示。这个可以很容易定位查询的性能瓶颈或者所建二级索引是否生效等。

constraint定义主键约束默认按照列升序排列:

       建表,建索引或alter等操作的时候名称都可以用.分隔,如果是表则前部分为schema名(默认null),如果是column则前部分是family名(默认’_0’)。不用双引号括起来的时候为大小寫不敏感的

支持的关系连接符有AND和OR。如果使用LIKE可以用通配符_(单个字符)和%(任意字符)。若查询的字符串本身就包括则需要对其转義(\)Between是个闭区间[5,10]

?  COUNT:求行数,如果指定某列则返回该列非空个数,如果为*或1,则返回所有行加上distinct则返回不相同的行数

?  SUBSTR:取子串,默认昰基于1的如果想基于0,则指定0如果指定为负数,则是从字符串结尾算起

支持的时间、日期函数:

支持的时间、日期函数:

?  TO_NUMBER:转换日期、时间、时间戳为一个数字可接受格式化串?

?  INTEGER:范围为- 到 与java.lang.Integer映射。但注意的是其二进制表示需要其会把第一个符号位进行翻转这样保证负数排列在正数前面。

?  DECIMAL:具有固定精度最大精度为18位,与java.math.BigDecimal对应其二进制表示形式为可变长度格式。当用于rowkey中其后会产生一个nullbyte,除非它是最后一列

?  VARCHAR:具有最大字节长度(可选)的可变长字符串。当用于rowkey时会在末尾加一个null字节,而如果它正好位于rowkey最后部分则不加

}

我要回帖

更多关于 rìver phoenix 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信