Apache flink 如何通过Flink行中的FieldName获取值?

Apache flink 如何通过Flink行中的FieldName获取值?,apache-flink,flink-streaming,Apache Flink,Flink Streaming,我有一个方法def进程(row:org.apache.flink.types.row,fieldName:String):Unit=??? 我要进行的处理要求我提取一个名为fieldName的字段。我可以看到RowAPI允许您按顺序提取,但不允许按名称提取 我猜用户必须向我传递模式信息,因此该方法看起来像def进程(row:org.apache.flink.types.row,rowSchema:??,fieldName:String):Unit=?? 我已经研究了org.apache.flin

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

我要进行的处理要求我提取一个名为
fieldName
的字段。我可以看到RowAPI允许您按顺序提取,但不允许按名称提取

我猜用户必须向我传递模式信息,因此该方法看起来像
def进程(row:org.apache.flink.types.row,rowSchema:??,fieldName:String):Unit=??


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

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