impala中date用什么类型

impala中date用什么类型,第1张

5 Function

指数据库内置的function,不讨论UDF。另外, *** 作符都不比较了,区别不大。

5.1 数学函数

功能OracleHiveImpala

ABS绝对值,有有有

SIN/SINH/ASIN/COS/COSH/ACOS/TAN/TANH/ATAN/ATAN2

三角函数

其中ATAN2接受两个参数(二维平面中的坐标)

没有SINH/COSH/TANH/ATAN2同hive

BITAND按位与,有

CEIL天花板值,有有,还有个别名CEILING有,同hive

EXPe的多少次,有有,还有个函数E()返回e有,同hive

FLOOR地板值,有有有

LN以e为底的log,有有有

LOG以某个double为底的log,有有,还有两个特殊底的log:LOG2和LOG10有,同hive

MODOracle的MOD的计算方式为MOD(n2,n1)=n2 - n1 * FLOOR(n2/n1),这与经典取模还不同,比如Oracle的MOD(-11,4)=-3,但经典取模等于1在hive里取模用PMOD,返回值一定是个正数,比如PMOD(-11,4)=1。但这与经典取模还是不同,比如PMOD(-11,-4)=1,但经典取模等于-3Impala的PMOD和hive的PMOD相同,另外Impala还有个FMOD和Oracle的MOD相同

POWER求幂,有有,还有个别名POW有,同hive

REMAINDER取余,REMAINDER(n2,n1)=n2 - n1 * FLOOR(n2/n1)

ROUND舍入,支持1个参数和2个参数两种版本

另外还有一个BROUND,使用HALF_EVEN舍入模式,见官方手册

有,同Oracle

SIGN符号函数,有有有

SQRT开方,有有有

TRUNC截取数值的小数点后多少位(如果是负值则往前推)

DEGREES/RADIANS角度/弧度互转同hive

POSITIVE/NEGATIVE相当于在数值前加+/-号(因此没什么卵用)同hive

PI返回pi值同hive

FACTORIAL阶乘,1.2.0以后才有

CBRT求立方根,1.2.0以后才有

SHIFTLEFT/SHIFTRIGHT/SHIFTRIGHTUNSIGNED按位左移/右移/无符号右移

GREATEST/LEAST返回一串值中的最大/最小值,这串值的类型可以是任意,只要可比较大小(所以其实不是数学函数而是通用比较)有,1.1.0以后有

5.2 字符(串)函数

功能OracleHiveImpala

ASCII输入必须char,返回该字符的ascii数值输入String,返回该String第一个字符的ascii数值同hive

BASE64 / UNBASE64将二进制值转为base64的String(UN则是反向)

CONCAT

CONCAT(char1, char2)

char或char2均可为CHAR,VARCHAR2,NCHAR,NVARCHAR2,CLOB, or NCLOB之一

concat(string|binary A, string|binary B)

可以有多个参数

另外提供CONCAT_WS用于指定特殊分隔符的连接

同hive(除了不支持binary类型),且也有CONCAT_WS

DECODE/ENCODE

string decode(binary bin, string charset)

binary encode(string src, string charset)

编码和解码用的,用于支持hive特有的binary类型

(其实oracle和impala也有DECODE,但作用完全不同,见条件函数中的DECODE)

FIND_IN_SET

find_in_set(string str, string strList)

strList是用’,’分割的一组string,该函数将寻找strList中第一个精确匹配的str

同hive

FORMAT_NUMBER将数字格式化为string

GET_JSON_OBJECT抽取JSON对象,不常用

IN_FILE

in_file(string str, string filename)

检测str是否为filename对应文件中的某行,不常用

INITCAP将每个单词(以空白分隔)转换为首字母大写其余小写的形式同oracle,1.1.0开始有同oracle

INSTR

{ INSTR

| INSTRB

| INSTRC

| INSTR2

| INSTR4

}

(string , substring [, position [, occurrence ] ])

搜索子串,不同数据类型调用名不同,最多可带四个参数,其中第三个是开始位置,第四个是出现的第几次

instr(string str, string substr)

只接受两个参数

同hive

LENGTH

{ LENGTH

| LENGTHB

| LENGTHC

| LENGTH2

| LENGTH4

}

(char)

串长,不同数据类型调用名不同

有(仅LENGTH)同hive

LEVENSHTEIN返回两个串的Levenshtein距离(编辑距离)1.2.0后才有

LOCATE特殊情况的INSTR,可以指定匹配的开始位置。Oracle因为本来INSTR就支持所以并不需要该函数同hive

LOWER转小写有,且有一个别名叫LCASE同hive

LPAD / RPAD

LPAD(expr1, n [, expr2 ])

在expr1之前用expr2填充n个字符,如expr2省略默认用n个单空格填充。RPAD类似只是在右边

有,但expr2不能省略同hive

LTRIM / RTRIM

LTRIM(char [, set ])

去掉char左侧包含在set中的字符,如省略set,则只去除空格符。RTRIM类似只是在右边

有,但没有set参数,即只能去除空格符同hive

非标量数据类型如 maps, arrays, structs

可扩展机制(Extensibility mechanisms)例如 TRANSFORM, 自定义文件格式, 或自定义 SerDeszImpala 1.2

XML 和 JSON 函数

HiveQL 中的某些聚合函数: variance, var_pop, var_samp, stddev_pop, stddev_samp, covar_pop, covar_samp, corr, percentile, percentile_approx, histogram_numeric,collect_setImpala 支持这些聚合函数: MAX(), MIN(), SUM(), AVG(), COUNT()

用户定义产生表函数(User Defined Table Generating Functions,UDTFs)

采样

Lateral views

授权功能如角色

一个查询中多个 DISTINCT 子句(Multiple DISTINCT clauses per query)

Impala 当前不支持这些 HiveQL 语句:

ANALYZE TABLE (在 Impala 有等价的 COMPUTE STATS)

DESCRIBE COLUMN

DESCRIBE DATABASE

EXPORT TABLE

IMPORT TABLE

SHOW PARTITIONS

SHOW TABLE EXTENDED

SHOW INDEXES

SHOW COLUMNS

许多情况下 Impala 与 Hive 中使用相似的 SQL 语句和子句的语义不同:

Impala 使用不同的语法和查询提示(query hints)名称。参见 Joins

Impala 在执行 SORT BY, DISTRIBUTE BY, CLUSTER BY 时不使用 MapReduce(Impala does not expose MapReduce specific features of SORT BY, DISTRIBUTE BY, or CLUSTER BY)

Impala 查询中可以不需要 FROM 子句

Impala 支持有限的几组隐式类型转换。这可以避免从未预期的转换行为导致未知的结果

Impala 在 string 和 numeric 或 Boolean 之间不进行隐式转换

Impala 在 numeric 或 string 到 timestamp 之间不进行隐式转换(Impala does perform implicit casts among the numeric types or from string to timestamp)

Impala 不使用本地时区保存时间戳,以避免超出预期的时区导致的未知的结果。时间戳都是相对于 GMT(格林尼治时间) 存储的

就像在传统数据库系统中那样,Impala 不会为溢出列(column overflows)返回 NULL,以便客户可以区分 NULL 数据和溢出条件。Impala 返回该数据类型的最大或最小值。例如,tinyint 的有效值范围是 -128 到 127。在 Impala 里,设置 tinyint 为 -200 则返回值是 -128 而不是 NULL。设置 tinyint 为 200 实际是 127。

Impala 不提供虚拟列(virtual columns)

Impala 没有公开锁(Impala does not expose locking)

Impala 没有公开一些配置属性(Impala does not expose some configuration properties)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6710629.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存