如何在创建 BigQuery 外部 table 时排除列?
How to exclude a column when creating BigQuery external table?
我正在尝试使用存储在 GCS 存储桶中的数据在 BQ 中创建外部 table。下面是我正在使用的 DDL 命令:
CREATE OR REPLACE EXTERNAL TABLE `external table`
OPTIONS (
format = 'parquet',
uris = ['gs://...', 'gs://...']
);
如何排除特定列被导入到外部 table?因为我无法在创建后将外部 table 更改为 DROP COLUMN。
从 GCS 加载数据时,没有为 selecting 列提供规定。
在 google 提供的以下文档中,提供了将数据从 GCS 加载到 bigQuery 的所有可能的配置和属性。但是您正在寻找的选项不存在。
https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-csv
但还有其他方法可以做到这一点。
第一个选项,
您可以先将此数据加载到临时 table,然后 select 从中加载所需的列并填充第二个 table。
第二个选项,
如果您不想手动执行此操作。您可以在 BigQuery 事件上使用 CloudRun。每当您将数据加载到第一个 table 时,它会触发 Cloudrun,您可以在其中编写代码以删除不需要的列并将其插入第二个 table.
第三个选项,
如果这只是一次 activity,您可以将整个数据加载到一个 table 中,然后在其上创建一个包含所需列的视图。
我正在尝试使用存储在 GCS 存储桶中的数据在 BQ 中创建外部 table。下面是我正在使用的 DDL 命令:
CREATE OR REPLACE EXTERNAL TABLE `external table`
OPTIONS (
format = 'parquet',
uris = ['gs://...', 'gs://...']
);
如何排除特定列被导入到外部 table?因为我无法在创建后将外部 table 更改为 DROP COLUMN。
从 GCS 加载数据时,没有为 selecting 列提供规定。
在 google 提供的以下文档中,提供了将数据从 GCS 加载到 bigQuery 的所有可能的配置和属性。但是您正在寻找的选项不存在。 https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-csv
但还有其他方法可以做到这一点。
第一个选项,
您可以先将此数据加载到临时 table,然后 select 从中加载所需的列并填充第二个 table。
第二个选项,
如果您不想手动执行此操作。您可以在 BigQuery 事件上使用 CloudRun。每当您将数据加载到第一个 table 时,它会触发 Cloudrun,您可以在其中编写代码以删除不需要的列并将其插入第二个 table.
第三个选项,
如果这只是一次 activity,您可以将整个数据加载到一个 table 中,然后在其上创建一个包含所需列的视图。