本文为您介绍Java UDTF和Python UDTF的使用说明。

UDTF在SQL中的常用方式如下。
select user_udtf(col0, col1, col2) as (c0, c1) from my_table; 
select user_udtf(col0, col1, col2) as (c0, c1) from (select * from my_table distribute by key sort by key) t;
select reduce_udtf(col0, col1, col2) as (c0, c1) from (select col0, col1, col2 from (select map_udtf(a0, a1, a2, a3) as (col0, col1, col2) from my_table) t1 distribute by col0 sort by col0, col1) t2;
UDTF的使用限制如下:
  • 同一个select子句中不允许有其他表达式。
    select value, user_udtf(key) as mycol ...
  • UDTF不能嵌套使用。
    select user_udtf1(user_udtf2(key)) as mycol...
  • 不支持在同一个select子句中与group bydistribute bysort by联用。
    select user_udtf(key) as mycol ... group by mycol