Как вставить данные в таблицу, связанную с типом данных структуры в BQ - PullRequest
0 голосов
/ 31 мая 2018

При попытке вставить данные в следующую таблицу я получаю следующее сообщение об ошибке.

--create table mydataset.struct_1(x struct<course string,id int64>)
insert into `mydataset.struct_1` (course,id)  values("B.A",12)

Error: Column course is not present in table mydataset.struct_1 at [2:35]

Ответы [ 3 ]

0 голосов
/ 31 мая 2018
-- CREATE TABLE mydataset.struct_1(x STRUCT<course STRING,id INT64>)
INSERT INTO `mydataset.struct_1` (x)  VALUES(STRUCT("B.A",12))
0 голосов
/ 25 января 2019
CREATE TABLE STRUCT_1 (x STRUCT<course: STRING,id: int>)
comment 'demonstrating how to work-around to insert complex 
datatype unnested structs into a complex table '
Stored as parquet
location '/user/me/mestruct'
tblproperties ('created date: '=' 2019/01','done by: '='me');

Теперь давайте сделаем вставку.

insert into table STRUCT_1 select named_struct("course","B.A","id",12) from (select 't') s;
0 голосов
/ 31 мая 2018

Если вы хотите создать STRUCT с вложенным STRUCT с именем x с двумя полями y и z, вы должны сделать this :

STRUCT<x STRUCT<y INT64, z INT64>>

Так в вашем примере:

create table mydataset.struct_1(STRUCT<x STRUCT<course string,id int64>>)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...