BigQuery-使用Python创建外部表

时间:2018-07-31 05:21:44

标签: python-2.7 google-bigquery

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

1 个答案:

答案 0 :(得分:0)

如果您不想使用命令行工具和os.system(command),则可以使用Python BigQuery库通过类似以下代码的外部源创建BigQuery表:

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)

这里是link to the API reference

有关the ExternalConfig class及其属性的更多信息。