如何通过Flink Row中的FieldName获取值



我有一个方法def process(row: org.apache.flink.types.Row, fieldName: String) : Unit = ???

我想做的处理需要我提取一个名为fieldName的字段。我可以看到Row api允许您按顺序提取,但不能按名称提取。

我想用户将不得不向我传递模式信息,所以该方法看起来像def process(row: org.apache.flink.types.Row, rowSchema: ???, fieldName: String) : Unit = ???

我已经研究了org.apache.flink.table.types.logical.RowTypeTypeInformation的模式信息,但它们似乎都不对。去这里最好的方式是什么?

看起来我需要org.apache.flink.api.java.typeutils.RowTypeInfo。它有方法getFieldIndex(String fieldName)

相关内容

最新更新