Строка BigQuery в потоке данных — getF() возвращает значение null

У нас есть Pipeline, который читает данные из таблицы BigQuery. Вызов метода getF() для TableRow должен вернуть List<TableCell> для этой строки. Но он возвращает null.

Почему getF() возвращает null?

@Override
public void processElement(ProcessContext c) throws Exception {
   TableRow aRow = context.element();
   List<TableCell> tableCells = aRow.getF(); //This returns null! 
}

person Graham Polley    schedule 19.05.2015    source источник
comment
Эй, поллейг, взгляните на это поведение. У вас есть реплика под рукой? (это конечно неожиданно)   -  person rf-    schedule 20.05.2015
comment
Что ж, просто возьмите этот фрагмент кода и вставьте любую таблицу в BigQuery, и вы сможете воспроизвести ее.   -  person Graham Polley    schedule 20.05.2015
comment
Мы определили проблему в том, как создается TableRow. Спасибо, ПоллиГ!   -  person rf-    schedule 21.05.2015
comment
ХОРОШО. Есть идеи, когда исправление будет выпущено?   -  person Graham Polley    schedule 21.05.2015
comment
Пока нет, но я обязательно прокомментирую здесь, когда он будет доступен на GitHub.   -  person rf-    schedule 22.05.2015


Ответы (2)


Обновление от января 2016 г.: getF() не поддерживается — его поддержка никогда не была надежной и была полностью удалена в этом зафиксировать. Пожалуйста, используйте row.get("fieldname") вместо этого.

Оригинал от сентября 2015 г.: SDK был обновлен с исправлением этой проблемы.

person Sam McVeety    schedule 26.09.2015
comment
Обновление от апреля 2021 г., эта проблема все еще не устранена. Я потратил несколько часов на расследование, и, наконец, эта ссылка помогла - person Akhil Baby; 11.04.2021

getF() не поддерживается — его поддержка никогда не была надежной и была полностью удалена в этой фиксации . Пожалуйста, используйте row.get("fieldname") вместо этого.

person jkff    schedule 10.02.2016