目录
Grammar
指令 | Phoenix | hue | 对比/差异 | SQL |
---|---|---|---|---|
SELECT | 从一个或多个表中选择数据 | - | 无 | select * from test.us_population |
UPSERT VALUES | 如果不存在,则插入,否则更新表中的值。 | - | 无 | UPSERT INTO test.us_population (state, city, population) values (‘IA’,‘Chicanm’,28425181) |
UPSERT SELECT | 根据运行另一个查询的结果插入或更新表中的行。 | - | 无 | UPSERT INTO test.targetTable(col1, col2) SELECT col3, col4 FROM test.sourceTable WHERE col5 < 100 |
DELETE | 删除where子句选择的行。 如果自动提交处于开启状态,则完全在服务器端执行删除操作。 | - | 无 | DELETE FROM test.us_population WHERE population = 1213825 |
DECLARE CURSOR | 为select语句创建游标 | |||
CREATE TABLE | 创建表 | - | 无 | CREATE TABLE IF NOT EXISTS test.us_population (state CHAR(2) NOT NULL, city VARCHAR NOT NULL, population BIGINT CONSTRAINT my_pk PRIMARY KEY (state, city)); |
DROP TABLE | 删除表 | - | 无 | drop table test.us_population |
CREATE FUNCTION | 创建一个函数 | - | 无 | CREATE FUNCTION my_reverse(param) returns param as ‘ReverseFunction’ |
DROP FUNCTION | 删除函数 | - | 无 | DROP FUNCTION IF EXISTS my_reverse |
CREATE VIEW | 在现有的HBase或Phoenix表上创建一个新视图 | - | 无 | CREATE VIEW my_view ( populations BIGINT ) AS SELECT * FROM test.us_population WHERE population = 2016582 |
DROP VIEW | 删除视图 | - | 无 | DROP VIEW IF EXISTS my_view |
CREATE SEQUENCE | 创建一个单调递增的序列 | - | 无 | CREATE SEQUENCE my_sequence |
DROP SEQUENCE | 删除一个序列 | - | 无 | DROP SEQUENCE my_sequence |
ALTER | 通过添加或删除列或更新表选项来更改现有表。 | - | 无 | ALTER TABLE test.us_population SET IMMUTABLE_ROWS=true,DISABLE_WAL=true |
CREATE INDEX | 在表或视图上创建二级索引 | - | 无 | CREATE INDEX my_idx ON test.us_population(population DESC) |
DROP INDEX | 从表或视图删除索引 | - | 无 | DROP INDEX my_idx ON test.us_population |
ALTER INDEX | 更改现有索引的状态。 | - | 无 | ALTER INDEX my_idx ON test.us_population DISABLE |
EXPLAIN | 计算执行给定命令所需的逻辑步骤 | - | 无 | EXPLAIN select * from test.us_population |
UPDATE STATISTICS | 更新表上的统计信息,默认情况下更新所有与其相关的索引表。 | - | 无 | UPDATE STATISTICS test.us_population |
CREATE SCHEMA | 在hbase中创建一个模式和相应的命名空间。 | - | 无 | CREATE SCHEMA IF NOT EXISTS my_schema |
USE | 为连接设置默认模式,并用作未显式指定模式名称的连接发出的所有语句的目标模式。 | - | 无 | USE my_schema |
DROP SCHEMA | 从hbase中删除一个模式和相应的命名空间 | - | 无 | DROP SCHEMA IF EXISTS my_schema |
GRANT | 在表、模式或用户级别授予权限 | - | 无 | GRANT ‘RXC’ TO ‘User1’ |
OPTIONS | 设置内置Phoenix表属性或HBase表或列描述符元数据属性 | - | 无 | IMMUTABLE_ROWS=true DEFAULT_COLUMN_FAMILY='a’ SALT_BUCKETS=10 DATA_BLOCK_ENCODING=‘NONE’,a.VERSIONS=10 MAX_FILESIZE=2000000000,MEMSTORE_FLUSHSIZE=80000000 UPDATE_CACHE_FREQUENCY=300000 GUIDE_POSTS_WIDTH=30000000 CREATE SEQUENCE id CREATE TABLE base_table (partition_id INTEGER, val DOUBLE) AUTO_PARTITION_SEQ=id CREATE VIEW my_view AS SELECT * FROM base_table |
Aggregate Functions
聚合函数 | Phoenix | hue | 对比/差异 | SQL |
---|---|---|---|---|
FIRST_VALUES | 返回一个数组,最多包含每个不同组中第一个值的给定数值大小,该数组按照规范的顺序排列。 | JDBC TYPE CODE 2000 is not supported | hue无法执行 | select FIRST_VALUES( population, 3 ) WITHIN GROUP (ORDER BY population DESC) from test.us_population |
LAST_VALUES | 返回一个数组,最多包含每个不同组中最后一个值的给定数值大小,该数组按照规范的顺序排序。 | JDBC TYPE CODE 2000 is not supported | hue无法执行 | select LAST_VALUES( population, 3 ) WITHIN GROUP (ORDER BY population DESC) from test.us_population |
APPROX_COUNT_DISTINCT | 所有行或非空值的近似不同计数。 默认情况下,近似的相对误差小于0.00405。如果没有选择任何行,结果为0。 只允许在select语句中使用聚合。 | - | 无 | select APPROX_COUNT_DISTINCT(population) from test.us_population |
AVG | 平均值。 如果没有选择任何行,则结果为NULL。 只允许在select语句中使用聚合。返回值的数据类型与参数相同。 | - | 无 | SELECT avg(POPULATION) from TEST.US_POPULATION |
COUNT | 所有行或非空值的计数。 此方法返回一个long。当使用DISTINCT时,它只计算DISTINCT值。如果没有选择任何行,结果为0。 只允许在select语句中使用聚合。 | - | 无 | SELECT count(*) from TEST.US_POPULATION |
MAX | 最大值。 如果没有选择任何行,则结果为NULL。 只允许在select语句中使用聚合。返回值的数据类型与参数相同。 | - | 无 | select max(POPULATION) from test.us_population |
MIN | 最小值。 如果没有选择任何行,则结果为NULL。 只允许在select语句中使用聚合。返回值的数据类型与参数相同。 | - | 无 | select min(POPULATION) from test.us_population |
SUM | 所有值的总和。 如果没有选择任何行,则结果为NULL。 只允许在select语句中使用聚合。返回值的数据类型与参数相同。 | - | 无 | select sum(POPULATION) from test.us_population |
PERCENTILE_CONT | 列中值的第n个百分位数。 百分比值可以在0到1之间(含1)。 只允许在select语句中使用聚合。返回值为十进制数据类型。 | - | 无 | select PERCENTILE_CONT( 0.9 ) WITHIN GROUP (ORDER BY population ASC) from test.us_population |
PERCENTILE_DISC | PERCENTILE_DISC是一个逆分布函数,它假设一个离散分布模型。 它接受一个百分比值和一个排序规范,并从集合中返回一个元素。null值在计算中被忽略。 | - | 无 | select PERCENTILE_DISC( 0.9 ) WITHIN GROUP (ORDER BY population ASC) from test.us_population |
PERCENT_RANK | 假设值的百分比等级(如果插入到列中)。 只允许在select语句中使用聚合。返回值为十进制数据类型。 | - | 无 | select PERCENT_RANK( 100 ) WITHIN GROUP (ORDER BY population ASC) from test.us_population |
FIRST_VALUE | 每个不同组中的第一个值按照规范的顺序排序。 | - | 无 | select FIRST_VALUE( population ) WITHIN GROUP (ORDER BY population DESC) from test.us_population |
LAST_VALUE | 每个不同组中的最后一个值,按照规范的顺序排序。 | - | 无 | select LAST_VALUE( population ) WITHIN GROUP (ORDER BY population DESC) from test.us_population |
NTH_VALUE | 每个不同组中的第n个值按照规范的顺序排列。 | - | 无 | select NTH_VALUE( population, 2 ) WITHIN GROUP (ORDER BY population DESC) from test.us_population |
STDDEV_POP | 所有值的总体标准差。 只允许在select语句中使用聚合。返回值为十进制数据类型。 | - | 无 | select STDDEV_POP( population ) from test.us_population |
STDDEV_SAMP | 所有值的样本标准差。 只允许在select语句中使用聚合。返回值为十进制数据类型。 | - | 无 | select STDDEV_SAMP( population ) from test.us_population |
COLLATION_KEY | 计算可用于以自然语言感知的方式对字符串排序的排序键 | - | 无 | SELECT city FROM test.us_population ORDER BY COLLATION_KEY(city, ‘TX’) |