Hi Chenxuying 是想在计算列中使用udtf, 现在的计算列只支持udf, 不支持udtf, 目前还做不到的。
祝好, Leonard Xu > 在 2020年6月24日,18:06,Weixubin <18925434...@163.com> 写道: > > > > > 感谢 Leonard Xu 与 Jark 两位,已成功解决满足需求! > 对于 chenxuying 所提出的问题,我也很感兴趣。 > 由于使用UDF重复解析两遍,不知是否有更好的替代方法 > Thanks > Bin > > > > > > > > > > > > > > > 在 2020-06-24 12:32:27,"Leonard Xu" <xbjt...@gmail.com> 写道: >> Hello, >> >> 你的需求其实是要 抽取记录的字段定义watermark, 这个只能放到source 表的DDL中,view上也不支持的。 >> 1.10里的计算列 + udf 应该就可以满足你的需求, 大概长这样: >> >> CREATE TABLE sourceTable ( >> request_uri STRING, >> ts as extractTsUdf(request_uri), >> WATERMARK FOR ts AS ts - INTERVAL '5' SECOND >> >> ) WITH ( >> .......... >> ); >> >> select ... from ( >> select ts, T.* from >> sourceTable sourceTable , LATERAL TABLE(ParseUriRow(request_uri)) as T(...) >> ) t >> group by TUMBLE(ts, INTERVAL '30' SECOND) >> >> 祝好, >> Leonard >> >> >>> 在 2020年6月24日,12:09,Weixubin <18925434...@163.com> 写道: >>> >>> 第一个数据处理过程就是将 request_uri 解析为多个属性(多列),存成一行,作为一条记录。 >>