Automation BigQuery-从Google云存储传输自动化-覆盖表
情况是这样的:Automation BigQuery-从Google云存储传输自动化-覆盖表,automation,google-bigquery,google-cloud-storage,overwrite,Automation,Google Bigquery,Google Cloud Storage,Overwrite,情况是这样的: 我们的客户每天将CSV(覆盖)上传到Google云存储中的一个存储桶(每个表位于不同的文件中) 我们在DataStudio中使用BigQuery作为数据源 我们希望自动将CSV传输到BigQuery 问题是,尽管我们: 使用“覆盖表”写入首选项在BigQuery中声明表 将每日传输vía UI(BigQuery>Transfers)配置为在文件上载到Google Cloud一小时后自动从Google Cloud上载CSV 默认情况下,自动传输/加载在“WRITE_APPEND
- 我们的客户每天将CSV(覆盖)上传到Google云存储中的一个存储桶(每个表位于不同的文件中)
- 我们在DataStudio中使用BigQuery作为数据源
- 我们希望自动将CSV传输到BigQuery
#standardSQL
CREATE TABLE mydataset.top_words
OPTIONS(
description="Top ten words per Shakespeare corpus"
) AS
SELECT
corpus,
ARRAY_AGG(STRUCT(word, word_count) ORDER BY word_count DESC LIMIT 10) AS top_words
FROM bigquery-public-data.samples.shakespeare
GROUP BY corpus;
现在,它已创建,您可以导入数据
2) 另一种方法是使用BigQuery调度查询
3) 如果您编写Python,您可以找到一个更好的解决方案以上任何一项都不适用于我们,因此我将发布这篇文章,以防有人遇到同样的问题 我们安排了一个查询,以便在自动导入过程开始之前删除表内容:
DELETE FROM project.tableName WHERE true
然后,新数据将导入到一个空表中,因此默认的“WRITE\u APPEND”不会影响我们。您在编写查询结果时使用哪个选项:Hi@TamirKlein,我们是
bigquery.admin
。这是您的writer访问权限。我的意思是,你是如何编写查询结果的,你是UI、Java还是其他?对不起@TamirKlein,我误解了你;我们通过UI做所有事情,但我们不执行任何需要存储的查询。目前我们只执行那些用于手动检查某些结果的,因此我们不需要将它们写入任何表中。我很困惑。无论如何,writeDisposition不是在表级别定义的,而是在写入表时定义的。因此,根据你的写作方式,你可以设置它。希望这有帮助。