------------------reflect函数---------------------
/*
reflect函数可以支持在sql中调用java中的静态方法
数据源:
1,2
4,3
6,4
7,5
5,6
*/
create table test_reflect
(
col1 int,
col2 int
) row format delimited fields terminated by ',';
load data local inpath '/export/data/test_reflect.txt' into table test_reflect;
select *
from test_reflect;
-- 使用java中的静态函数max,min
select col1, col2, reflect('java.lang.Math', 'max', col1, col2) max
from test_reflect; // Math.max(10, 20)
select col1, col2, reflect('java.lang.Math', 'min', col1, col2) min
from test_reflect; // Math.min(10, 20)
-- 使用java中的静态函数UUID
select reflect('java.util.UUID', 'randomUUID'); // UUID.randomUUID()
select concat(col1, '---', reflect('java.util.UUID', 'randomUUID')) connect
from test_reflect;
网友评论