Metahub任务

如果流表没有timestamp(3)类型的字段,需要使用计算列方式转为timestamp(3)。

set 'table_name.computed.field.expression.tsudf' = 'GetTs(ts_str)';
-- table_name是定义的流表名
-- ts_str是流表中字段名称,通过GetTs udf函数返回tsudf字段
-- tsudf是计算后返回的字段名
set 'table_name.computed.field.type.tsudf' = 'TIMESTAMP';
-- 定义tsudf字段类型为timestamp

create function GetTs as 'com.netease.udf.GetTsColumns';
-- 定义udf函数,传入string字段,返回timestamp类型字段。

----以上sql相当于执行了:
create table table_name (
    ts_str string,
    tsudf as GetTs(ts_str)
) WITH (...);