我需要从一个BigQuery表获取元数据(表结构),并在此基础上创建新表。例如,table 'Metadata' contains some table structures。在
在我的Python脚本中,FileSubtype是从其他脚本动态传递的,并在此基础上获取列名及其相应的数据类型。将使用这些列和数据类型创建新表。在
卡住的部分是,所有这些东西都必须是动态的。在
示例代码(出于测试目的,我对表名进行了硬编码):
query1 = client.run_sync_query('%s limit 10' % QUERY)
query1.run()
rows = list(query1.fetch_data())
table = dataset.table('Sample_BQ_Table1')
for row in rows:
print(row[0])
# Set the table schema
table.schema = (
bigquery.SchemaField(row[0], 'STRING'),
)
table.create()
我正面临错误
TypeError: 'SchemaField' object is not iterable`
设置表架构时。在
table.schema
字段需要一个iterable,例如列表或元组。在代码
不会将架构设置为iterable,因为普通括号不会创建元组。正确的代码应该是
^{pr2}$注意后面的逗号。在
相关问题 更多 >
编程相关推荐