我有一个方法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.RowType
和TypeInformation
的模式信息,但它们似乎都不对。去这里最好的方式是什么?
看起来我需要org.apache.flink.api.java.typeutils.RowTypeInfo
。它有方法getFieldIndex(String fieldName)