如何通过flink行中的fieldname获取值?

oxiaedzo  于 2021-06-26  发布在  Flink
关注(0)|答案(1)|浏览(342)

我有办法 def process(row: org.apache.flink.types.Row, fieldName: String) : Unit = ??? 我要做的处理需要提取一个名为 fieldName . 我可以看到rowapi允许按顺序提取,但不允许按名称提取。
我猜用户必须向我传递模式信息,所以方法看起来像 def process(row: org.apache.flink.types.Row, rowSchema: ???, fieldName: String) : Unit = ??? .
我已经调查过了 org.apache.flink.table.types.logical.RowType 以及 TypeInformation 但是他们两个看起来都不对。到这儿去最好的方法是什么?

vof42yt1

vof42yt11#

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

相关问题