大数据框架开发基础之Phoenix扩展

之前有说Phoenix的一些操作,无非就是一些概念上的一些内容,这些内容也是笔者根据一个微信公众号来的,说白了就是一个转载,后来笔者发现那个哥们也是吧官网翻译了一遍。这篇主要是笔者在使用Phoenix的过程中会用到的一些内容且在前一篇博客中没有涉及到的部分做一个深入的介绍吧。

本文原文链接:大数据框架开发基础之Phoenix扩展

Phoenix的命令行操作

怎样在已有的表的基础上增加一列

ALTER TABLE [table_name] ADD [culomn_name] [type];

删除已有表的字段

ALTER TABLE [table_name] DROP COLUMN [culomn_name];

Phoenix常见的脚本的使用

SqlLine.py

Usage: 
    $ sqlline.py <zookeeper> <optional_sql_file> 
Example: 
    $ sqlline.py localhost
    $ sqlline.py localhost <examples dir>/STOCK_SYMBOL.sql

psql.py

这个脚本可以用来导入外来的数据,但仅限sql/csv

Usage: 
    psql [-t table-name] [-h comma-separated-column-names | in-line] <zookeeper>  <path-to-sql-or-csv-file>...
Example 1. 
    Create table, upsert row and run query using single .sql file
    ./psql.py localhost <examples dir>/STOCK_SYMBOL.sql

Example 2. 
    Create table, load CSV data and run queries using .csv and .sql files:
    ./psql.py localhost <examples dir>/WEB_STAT.sql <examples dir>/WEB_STAT.csv <examples dir>/WEB_STAT_QUERIES.sql

performance.py

Usage: 
    performance <zookeeper> <row count>

Example: 
    Generates and upserts 1000000 rows and time basic queries on this data
    ./performance.py localhost 1000000

Phoenix中常见的函数

Aggregate Functions

Function NameFunction Descriptionexample
AVG求平均AVG(X)
COUNT计数COUNT(*)
APPROX_COUNT_DISTINCT所有行或非空值的近似不重复计数APPROX_COUNT_DISTINCT(*)
MAX最大值MAX(X)
SUM所有值的总和SUM(X)
MIN最低值MIN(X)
PERCENTILE_CONT列中值的第n个百分点PERCENTILE_CONT( 0.9 ) WITHIN GROUP (ORDER BY X ASC)
PERCENTILE_DISCPERCENTILE_DISC是一个假设离散分布模型的逆分布函数。它需要一个百分位值和一个排序规范,并从集合中返回一个元素。PERCENTILE_DISC( 0.9 ) WITHIN GROUP (ORDER BY X DESC)
PERCENT_RANK如果插入列中,则为假设值的百分数等级。PERCENT_RANK( 100 ) WITHIN GROUP (ORDER BY X ASC)
FIRST_VALUE根据ORDERBY规范排序的每个不同组中的第一个值FIRST_VALUE( name ) WITHIN GROUP (ORDER BY salary DESC)
LAST_VALUE根据ORDER BY规范排序的每个不同组中的最后一个值LAST_VALUE( name ) WITHIN GROUP (ORDER BY salary DESC)
FIRST_VALUES返回一个数组,该数组最多具有根据ORDER BY规范排序的每个不同组中的第一个值的给定数值大小FIRST_VALUES( name, 3 ) WITHIN GROUP (ORDER BY salary DESC)
LAST_VALUES返回一个数组,该数组最多具有根据ORDER BY规范排序的每个不同组中最后一个值的给定数字大小LAST_VALUES( name, 3 ) WITHIN GROUP (ORDER BY salary DESC)
NTH_VALUE根据ORDER BY规范排序的每个不同组中的第n个值NTH_VALUE( name, 2 ) WITHIN GROUP (ORDER BY salary DESC)
STDDEV_POP所有值的总体标准差。仅在选择语句中允许聚合STDDEV_POP( X )
STDDEV_SAMP所有值的样本标准偏差STDDEV_SAMP( X )

String Functions

Function NameFunction DescriptionExample
SUBSTR返回从一个位置开始的字符串的子字符串SUBSTR(str, startIndex, length)
INSTR返回第二个参数在第一个参数中首次出现的基于位置的位置INSTR ( stringTerm , stringTerm )
TRIM从输入字符串中删除前导和尾随空格TRIM ( stringTerm )
LTRIM从输入字符串中删除前导空格LTRIM ( stringTerm )
RTRIM从输入字符串中删除尾随空格RTRIM ( stringTerm )
LPAD使用特定的填充字符(默认为空格)填充字符串表达式,直到length参数为止LPAD(‘John’,30)
LENGTH返回字符串的长度(以字符为单位)LENGTH(‘Hello’)
REGEXP_SUBSTR通过应用基于一个位置的偏移量的正则表达式,返回字符串的子字符串。就像使用一样SUBSTR,如果开始索引为负,则它相对于字符串的结尾。如果未指定,则起始索引默认为1。REGEXP_SUBSTR(‘na1-appsrv35-sj35’, ‘[^-]+’) evaluates to ‘na1’
REGEXP_REPLACE通过应用正则表达式并将匹配项替换为替换字符串来返回字符串。如果未指定替换字符串,则默认为空字符串。REGEXP_REPLACE(‘abc123ABC’, ‘[0-9]+’, ‘#’) evaluates to ‘abc#ABC’
REGEXP_SPLITVARCHAR ARRAY使用正则表达式将字符串拆分为a 。如果要将正则表达式中具有特殊含义的字符用作模式字符串中的正则分隔符,则必须使用反斜杠对它们进行转义。REGEXP_SPLIT(‘ONE,TWO,THREE’, ‘,’) evaluates to ARRAY[‘ONE’, ‘TWO’, ‘THREE’]
UPPER返回字符串参数的大写字符串。UPPER(‘Hello’)
LOWER返回字符串参数的小写字符串LOWER(‘HELLO’)
REVERSE返回字符串参数的反向字符串REVERSE(‘Hello’)
TO_CHAR将日期,时间,时间戳或数字格式化为字符串。TO_CHAR(myDate, ‘2001-02-03 04:05:06’)
COLLATION_KEY计算排序规则键,该键可用于以自然语言感知的方式对字符串进行排序SELECT NAME FROM EMPLOYEE ORDER BY COLLATION_KEY(NAME, ‘zh_TW’)

Time and Date Functions

Function NameFunction Description
TO_DATE解析字符串并返回日期
TO_TIME将给定的字符串转换为TIME实例
TO_TIMESTAMP将给定的字符串转换为TIMESTAMP实例
CURRENT_TIME与CURRENT_DATE()相同,除了返回类型为的值TIME
CONVERT_TZ将日期/时间从一个时区转换为另一个时区,并返回转换后的日期/时间值。
TIMEZONE_OFFSET返回特定日期/时间的时区偏移量(以分钟为单位),以分钟为单位
NOW返回当前日期,该日期根据拥有所查询表元数据的区域服务器上的当前时间,在查询执行开始时绑定
YEAR返回指定日期的年份。
MONTH返回指定日期的月份
WEEK返回指定日期的星期
DAYOFYEAR返回指定日期的日期。
DAYOFMONTH返回指定日期的月份中的一天。
DAYOFWEEK返回指定日期的星期几。
HOUR返回指定日期的小时。
MINUTE返回指定日期的分钟。
SECOND返回指定日期的第二个。

Note: 下面的方法,还是直接去看官网的吧。
Phoenix中的Functions汇总

Numeric Functions

Function NameFunction Description
ROUND
CEIL
FLOOR
TRUNC
TO_NUMBER
RAND

Array Functions

Function NameFunction Description
ARRAY_ELEM
ARRAY_LENGTH
ARRAY_APPEND
ARRAY_PREPEND
ARRAY_CAT
ARRAY_FILL
ARRAY_TO_STRING
ANY
ALL

Math Functions

Function NameFunction Description
SIGN
ABS
SQRT
CBRT
EXP
POWER
LN
LOG

Other Functions

Function NameFunction Description
MD5
INVERT
ENCODE
DECODE
COALESCE
GET_BIT
GET_BYTE
OCTET_LENGTH
SET_BIT
SET_BYTE

其他

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值