如何使用python API在bigquery中创建新视图?
作者:互联网
我有一些代码会自动生成一堆不同的SQL查询,我想将这些查询插入到bigquery中以生成视图,尽管我遇到的一个问题是,由于自然界的变化,这些视图需要每天晚上动态生成数据.所以我想做的是使用python的google bigquery api进行查看.我知道如何使用“ bq”命令行工具来执行此操作,但是我希望能够直接将其内置到代码中,而不是使用shell运行bq.我已经玩过提供的代码
https://cloud.google.com/bigquery/bigquery-api-quickstart
我不明白如何使用这段代码来创建视图,而不仅仅是返回SELECT语句的结果.我可以在此处查看有关进行表插入的文档
https://cloud.google.com/bigquery/docs/reference/v2/tables/insert
但这是指使用REST API生成新表,而不是上面提供的示例.
只是不可能吗?我应该让步并使用bq吗?
谢谢
***回应Felipe的评论的一些其他问题.
表格资源文档指出了许多必填字段,即使我不完全了解他们的要求,其中一些还是有意义的,而其他则没有.例如,externalDataConfiguration.schema.这是指我要连接的数据库的架构(我假设确实如此)还是用于存储数据的架构?
那么externalDataConfiguration.sourceFormat呢?由于我正在尝试查看现有数据库,因此不确定我是否了解源格式的相关性.是我正在查看的数据库的源格式吗?我将如何识别?
AN和externalDataConfiguration.sourceUris [],我没有将新数据导入数据库,所以我不明白这是什么(或前面的元素)是必需的.
架构呢?
tableReference.datasetId,tableReference.projectId和tableReference.tableId不言自明.
类型将是view,而view.query将是用于创建视图的实际sql查询.所以我明白了为什么需要这些来创建视图,但是我不理解其他部分.
您能帮我了解这些细节吗?
谢谢,
布拉德
解决方法:
Web UI或bq工具执行的所有操作都是通过BigQuery API进行的,因此请不要放弃:).
创建视图类似于创建表,只是在调用tables.insert()时确保具有包含视图属性的表资源.
> https://cloud.google.com/bigquery/querying-data#views
> https://cloud.google.com/bigquery/docs/reference/v2/tables#resource
标签:python,google-bigquery 来源: https://codeday.me/bug/20191011/1895280.html