flink-sql-lineage icon indicating copy to clipboard operation
flink-sql-lineage copied to clipboard

The transform of lineage result is null when parsing UDAF

Open jeff-zou opened this issue 1 year ago • 0 comments

public class TestAggregateFunction extends AggregateFunction<String, TestAggregateFunction.TestAggregateAcc> {

    public void accumulate(TestAggregateAcc acc, String param1, String param2, String param3) {
        acc.test = param1 + param2 + param3;
    }

    @Override
    public String getValue(TestAggregateAcc accumulator) {
        return accumulator.test;
    }

    @Override
    public TestAggregateAcc createAccumulator() {
        return new TestAggregateAcc();
    }

    public static class TestAggregateAcc {
        public String test;
    }
}

create function test_aggregate as 'com.hw.lineage.flink.aggregatefunction.TestAggregateFunction'

INSERT INTO dwd_hudi_users SELECT id, name, test_aggregate(concat_ws('_', name, 'test'), name, 'test'), birthday, ts, DATE_FORMAT(birthday, 'yyyyMMdd') FROM ods_mysql_users group by id, name, birthday, ts

The transform of lineage result is null when parsing UDAF. eq: LineageResult(sourceCatalog=hive, sourceDatabase=default, sourceTable=ods_mysql_users, sourceColumn=name, targetCatalog=hive, targetDatabase=default, targetTable=dwd_hudi_users, targetColumn=company_name, transform=null)

jeff-zou avatar Apr 19 '24 09:04 jeff-zou