cgu*_*tad 3 python google-bigquery
我正在使用 python 并想在 bigquery 中写入一个表。表的架构如下所示:
test RECORD REPEATED
test.foo STRING NULLABLE
test.bar STRING NULLABLE
Run Code Online (Sandbox Code Playgroud)
我想运行如下命令:
table = dataset.table(name='test_table')
table.insert_data(rows_to_insert)
Run Code Online (Sandbox Code Playgroud)
输入 rows_to_insert 是什么样的。我不断收到错误:在数组外添加重复值。
假设您的架构定义为:
full_name = SchemaField('full_name', 'STRING', mode='REQUIRED')
area_code = SchemaField('area_code', 'STRING', 'REQUIRED')
local_number = SchemaField('local_number', 'STRING', 'REQUIRED')
rank = SchemaField('rank', 'INTEGER', 'REQUIRED')
phone = SchemaField('phone', 'RECORD', mode='NULLABLE',
fields=[area_code, local_number, rank])
Run Code Online (Sandbox Code Playgroud)
然后您要插入的数据如下所示:
rows_to_insert = [
('Phred Phlyntstone', {'area_code': '800',
'local_number': '555-1212',
'rank': 1}),
('Bharney Rhubble', {'area_code': '877',
'local_number': '768-5309',
'rank': 2}),
('Wylma Phlyntstone', None),
]
Run Code Online (Sandbox Code Playgroud)