Flink SQL:UDTF传递行类型参数

问题描述 投票:0回答:1
CREATE TABLE user_log (
    data ROW(id String,user_id String,class_id String)
) WITH (
    'connector.type' = 'kafka',
    ...
);

INSERT INTO sink
SELECT * FROM user_log as tab,
LATERAL TABLE(splitUdtf(tab.data)) AS T(a,b,c);

UDTF代码:

public void eval(Row data) {...}

eval方法只能传递行类型参数吗?我想获取SQL中Row的键,例如id,user_id,class_id,但是[Row in Java] >>的键是索引(例如0,1,2)。我该怎么办它?谢谢!

CREATE TABLE user_log(data ROW(id String,user_id String,class_id String))WITH('connector.type'='kafka',...);插入到接收器SELECT * FROM user_log作为选项卡,LATERAL TABLE(...

apache-flink flink-streaming flink-sql
1个回答
0
投票

您的SQL是否能够直接将kafka数据转换为表Row?也许不会 。Row是数据流级别的类型,而不是TableAPI&SQL中的类型。

© www.soinside.com 2019 - 2024. All rights reserved.