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 解析为多个属性(多列),存成一行,作为一条记录。
>> 

回复