Я новичок в потоке данных.У меня есть предопределенная схема, содержащая неповторяющееся поле RECORD под названием «устройство»:
device.configId: STRING
device.version: STRING
Используя преобразование ParDo, я попытался вставить TableRow с этим типом поля следующим образом:
TableRow row = new TableRow();
row.put("field1", "val1");
TableRow device = new TableRow();
device.put("configId", "conf1");
device.put("version", "1.2.3");
row.put("device", device);
out.output(row);
Я зарегистрировал строку таблицы, она выглядит следующим образом:
{field1=val1, device={configId=conf1, version=1.2.3}}
Я вывожу ее в стандартное преобразование: BigQueryIO.write ()
Но последнее выдает проблемыошибка:
java.lang.RuntimeException: java.io.IOException:
Insert failed: [{"errors":[{
"debugInfo":"",
"location":"device.configid",
"message":"This field is not a record.",
"reason":"invalid"
}],"index":0}]
Не знаю почему, но обратите внимание на то, что заклинания местоположения "configid" в нижнем регистре - не в случае верблюда, как в оригинальном журнале.
Любые идеи о том, как вставить такиеобъект BigQuery?