GCS到BigQuery表使用存储过程



我想创建一个存储过程,它可以从GCS桶读取数据并存储到bigquery表中。我可以使用python,但是连接到gcs并创建bigquery客户端。

credentials = service_account.Credentials.from_service_account_file(path_to_key)
bq_client = bigquery.Client(credentials=credentials, project=project_id)

是否可以使用存储过程实现相同的目标?

?

您考虑过使用外部表吗?你可以直接从谷歌云存储查询,而不需要加载任何东西。只需定义预期数据的模式以及GCS的URI,一旦数据在GCS中,就可以通过BigQuery中的SQL访问它。否则,没有。没有LOAD语句可以通过BigQuery SQL执行。请参阅此处的文档,了解将数据加载到表中的所有方法。您可以拥有外部表,并可能创建一个存储过程,使用您创建的外部表中的数据对另一个表执行INSERT操作。这是在您非常想要"加载"一个存储过程的情况下;将数据放到一个普通的BigQuery表中。否则,外部表是一个很好的选择,可以避免首先加载数据的需要。

最新更新