赞
踩
需要在任务配置里配置. 配置里 ${yyyyMMdd} 代表业务时间 $[yyyyMMdd] 代表运行时间. 参数里
配置 | 代码里 | |
业务时间 | ${} | |
运行时间 | $[] |
if( , ,)
create sql function
to_date(gmt_modified,'yyyy-mm-dd HH:mi:ss')
select dateadd(date '2005-02-18', 1, 'mm');
--返回2005-03-18
select dateadd(timestamp '2005-02-18 00:00:00', 1, 'mm');
--返回2005-03-18 00:00:00
dt = TO_CHAR(DATEADD( GETDATE() , - 1,"dd"),"yyyymmdd")
KEYVALUE('fund_operation_type=PAY;orderAmout=0.25;',';','=','orderAmout') = '0.25'
split_part('a,b,c,d', ',', 1, 2) = 'a,b'
其他函数
split 得到素组
size(split("1;2;3",';'))=2
split("1;2;3",';') 得到array ,然后 FROM_JSON ,然后通过get_json_object 获取item 元素
FROM_JSON
SELECT from_json('{"a":1, "b":0.8}', 'a INT, b DOUBLE');
{"a":1, "b":0.8}
SELECT from_json('{"time":"26/08/2015"}', 'time string');
{"time":"26/08/2015"}
SELECT from_json('{"a":1, "b":0.8}', 'a INT, b DOUBLE, c STRING');
{"a":1, "b":0.8, c: NULL}
SELECT from_json('[1, 2, 3, "a"]', 'array<BIGINT>');
[1, 2, 3]
SELECT from_json('{"a":1,"b":[1,2,3],"c":{},"d":"v"}', 'map<string, string>');
{a:1, b:[1,2,3], c:{}, d:v}
json提取 -
get_json_object 示例1
+----+
json
+----+
{"store":
{"fruit":[{"weight":8,"type":"apple"},{"weight":9,"type":"pear"}],
"bicycle":{"price":19.95,"color":"red"}
},
"email":"amy@only_for_json_udf_test.net",
"owner":"amy"
}
通过以下查询,可以提取json对象中的信息:
odps> SELECT get_json_object(src_json.json, '$.owner') FROM src_json;
amy
odps> SELECT get_json_object(src_json.json, '$.store.fruit[0]') FROM src_json;
{"weight":8,"type":"apple"}
odps> SELECT get_json_object(src_json.json, '$.non_exist_key') FROM src_json;
NULL
示例2
get_json_object('{"array":[[aaaa,1111],[bbbb,2222],[cccc,3333]]}','$.array[1][1]') = "2222"
get_json_object('{"aaa":"bbb","ccc":{"ddd":"eee","fff":"ggg","hhh":["h0","h1","h2"]},"iii":"jjj"}','$.ccc.hhh[*]') = "["h0","h1","h2"]"
get_json_object('{"aaa":"bbb","ccc":{"ddd":"eee","fff":"ggg","hhh":["h0","h1","h2"]},"iii":"jjj"}','$.ccc.hhh[1]') = "h1"
size()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。