Чтение в таблице BigQuery из Dataflow, где одно из полей является полем «запись» и «повторение». Поэтому я ожидал, что результирующий тип данных в Java будет List
Однако, когда я пытаюсь перебрать список, я получаю следующее исключение: java.lang.ClassCastException: java.util.LinkedHashMap не может быть приведен к com.google.api.services.bigquery.model.TableRow
схема таблицы выглядит примерно так:
{
"id": "my_id",
"values": [
{
"nested_record": "nested"
}
]
}
Код для перебора значений выглядит примерно так:
String id = (String) row.get("id");
List<TableRow> values = (List<TableRow>) row.get("values");
for (TableRow nested : values) {
// more logic
}
Исключение выдается прямо там, где начинается цикл.
Очевидным решением здесь является просто приведение значений в виде списка LinkedHashMaps, но это не так.
Кто-нибудь знает, почему Dataflow генерирует такую ошибку для вложенных «записей»?
- Спасибо заранее за вашу помощь!