关于 BigQuery:BigQuery – 在 Python 中创建外部表

BigQuery - create an external table in Python

我找不到任何有关如何使用 Python 在 BigQuery 中创建外部表的文档。我想在不使用自动检测但传递模式的情况下创建表。
有人知道怎么做吗?
谢谢!


如果您不想使用命令行工具和 os.system(command),您可以使用 Python BigQuery 库从外部源创建 BigQuery 表,其中包含如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from google.cloud import bigquery

client = bigquery.Client()
#Define your schema
schemafield_col1 = bigquery.schema.SchemaField("string_col","STRING")
schemafield_col2 = bigquery.schema.SchemaField("int_col","INTEGER")



dataset_ref = client.dataset('<your-dataset>')
table_ref = bigquery.TableReference(dataset_ref, '<your-table-name>')
table = bigquery.Table(table_ref, [schemafield_col1,schemafield_col2])

external_config = bigquery.ExternalConfig('CSV')
source_uris = ['<url-to-your-external-source>'] #i.e for a csv file in a Cloud Storage bucket
                                              #it would be something like"gs://<your-bucket>/<your-csv-file>"
external_config.source_uris = source_uris
table.external_data_configuration = external_config

client.create_table(table)

这里是 API 参考的链接。

这里有更多关于 ExternalConfig 类及其属性的信息。