更新BQ View SQL

时间:2018-03-20 21:46:29

标签: python google-bigquery

我可以通过调用client.create_table来创建BQ视图,但是我找不到更新视图SQL的方法。

创建:

table = bigquery.Table(table_ref)
table.view_query = view_query
client.create_table(table)

要更新? (不起作用)

table = client.get_table(table_ref)
table.view_query = view_query
client.update_table(table, [])

思想?

2 个答案:

答案 0 :(得分:2)

update_table的第二个参数是要在API中更新的字段列表。通过传递一个空列表,你说:不要更新任何东西。而是将['view_query']作为更新属性列表传递。

table = client.get_table(table_ref)
table.view_query = view_query
client.update_table(table, ['view_query'])

或者正如Elliot在评论中建议的那样,您可以使用DDL来执行此操作。

答案 1 :(得分:1)

我使用了CREATE OR REPLACE VIEW语句。

job = client.query('CREATE OR REPLACE VIEW `{}.{}.{}` AS {}'.format(client.project, dataset, view_name, view_query))
job.result()