提问者:小点点

来自Google Cloud Storage的BigQuery表


我从Google Cloud Storage创建了一个BigQuery表。我使用选项:gs://my_bucket/*. csv

Google Cloud Storage URIs begin with "gs://" and specify the bucket and object you want to load.

Example: gs://mybucket/path/to/mydata.csv

You can use a wildcard to load multiple files, for example gs://mybucket/path/to/my*

My Bucket包含多个CSV文件。

每次我添加一个新的CSV文件,这是没有检测到的表,这意味着如果我在GCS:

>

  • 文件1. csv

    文件2. csv

    在我创建表的那一刻,它将始终只读取这2个文件。当我添加file3. csv等时,它永远不会更新表。


  • 共1个答案

    匿名用户

    当您从存储桶加载数据时,会根据加载时该存储桶中的(匹配)对象加载该数据。

    添加的新对象不会自动加载。

    如果你想这样做,你有几个选择:

    • 依赖外部表直接查询桶中的数据:https://cloud.google.com/bigquery/external-data-sources
    • 使用存储桶上的Cloud Functions触发器创建加载作业-https://cloud.google.com/functions/docs/concepts/events-triggers#triggers
    • 使用Cloud Dataflow和GCSIO读取文件并创建加载作业:https://beam.apache.org/documentation/sdks/pydoc/2.0.0/_modules/apache_beam/io/gcp/gcsio.html-Cloud Composer可用于为此配置cron作业。