Google cloud platform 具有GCS数据源的Bigquery表不影响更改为GCS的数据
我对bigquery很陌生。Google cloud platform 具有GCS数据源的Bigquery表不影响更改为GCS的数据,google-cloud-platform,google-bigquery,cloud,external-tables,Google Cloud Platform,Google Bigquery,Cloud,External Tables,我对bigquery很陌生。 我已经从gcp控制台创建了bigquery表,其中GCS CSV文件用作数据源。我认为当我删除任何行时,也应该从GCS文件中删除该行。但实际上这并没有发生。当您使用BigQuery时,有两种方法可以从GCS CSV文件加载数据 最常见的是将数据加载(复制)到BigQuery本机表中。加载后,文件和BigQuery数据之间没有保持链接 在这种情况下,当您将数据删除到BigQuery中时,文件不会更改是正常的 你可以定义。它可以防止数据重复,但查询速度较慢。此外,在外部
我已经从gcp控制台创建了bigquery表,其中GCS CSV文件用作数据源。我认为当我删除任何行时,也应该从GCS文件中删除该行。但实际上这并没有发生。当您使用BigQuery时,有两种方法可以从GCS CSV文件加载数据
- 将数据从CSV文件加载到BigQuery本机表
- 删除所需的行
- 将数据从CSV文件加载到BigQuery本机表
- 删除所需的行
BigQuery
支持三种类型的表:本机、外部和视图
创建本机表时,数据会完全导入到
BigQuery
的存储系统中,并进行转换,以便针对查询进行优化。
外部表基本上是指向源文件的指针。换句话说,每次对外部表运行查询时,BigQuery
都会访问原始数据源(GCS中的一些文件、Google驱动程序等)
有鉴于此,我可以直接转到您的问题:BigQuery在运行某些DML语句时不会更新源文件。
如果对本机表运行DML语句(DELETE、UPDATE),BigQuery存储系统中的数据将被更改,但不会触及文件
此外,外部表中不支持DML。例如,如果尝试对外部表运行DELETE语句,则会出现错误:DML over Table“project.dataset.Table”不受支持。
我强烈建议您查看此,如下图所示,
BigQuery
支持三种类型的表:本地、外部和视图
创建本机表时,数据会完全导入到
BigQuery
的存储系统中,并进行转换,以便针对查询进行优化。
外部表基本上是指向源文件的指针。换句话说,每次对外部表运行查询时,BigQuery
都会访问原始数据源(GCS中的一些文件、Google驱动程序等)
有鉴于此,我可以直接转到您的问题:BigQuery在运行某些DML语句时不会更新源文件。
如果对本机表运行DML语句(DELETE、UPDATE),BigQuery存储系统中的数据将被更改,但不会触及文件
此外,外部表中不支持DML。例如,如果尝试对外部表运行DELETE语句,则会出现错误:DML over Table“project.dataset.Table”不受支持。
我强烈建议你看看这个