Как получить значение по имени поля в строке Flink? - PullRequest
1 голос
/ 05 мая 2020

У меня есть метод 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 для информации о схеме, но ни один из них не кажется правильным. Как лучше всего попасть сюда go?

1 Ответ

0 голосов
/ 06 мая 2020

Похоже, мне нужно org.apache.flink.api.java.typeutils.RowTypeInfo. Имеет метод getFieldIndex(String fieldName)

...