bigquery - 保存大型查询结果

Posted

技术标签:

【中文标题】bigquery - 保存大型查询结果【英文标题】:bigquery - save large query results 【发布时间】:2019-05-29 10:38:22 【问题描述】:

我有一个关于将大型查询结果保存到外部 csv 或 Google 表格的问题。我有一个生成大约 23,000 个结果的简单查询:

#standardSQL
SELECT DISTINCT id1, id2
FROM `tableA`
WHERE A LIKE "%abcdefg%"
AND B LIKE "%some text%"
AND ts >= TIMESTAMP("2019-04-25 00:00:00")
AND ts < TIMESTAMP("2019-05-29 23:59:00")

我无法将超过 16,000 个这些结果保存到 csv 文件或输出到 Google 表格。我希望能够将所有 23,000 个结果保存到 1 个文件或多个文件中,但我不知道该怎么做。我的权限不允许我将查询输出保存到新表中。

【问题讨论】:

我能想到的最佳解决方法是每天运行查询并将每天的结果下载到 CSV 文件。所以把这个AND ts &gt;= TIMESTAMP("2019-04-25 00:00:00") AND ts &lt; TIMESTAMP("2019-05-29 23:59:00")改成这个AND ts &gt;= TIMESTAMP("**2019-04-25** 00:00:00") AND ts &lt; TIMESTAMP("**2019-05-25** 23:59:00") 您可以尝试Goliath(BigQuery 工具套件Potens.io 的一部分),您将不会遇到此类限制。即使您需要从试用开始 - 但是 Goliath 可以在试用期结束后免费使用。查看我的个人资料了解从属关系详情 【参考方案1】:
    照常运行查询,然后单击“职位信息”选项卡。 将出现一个“目标表”条目,其中包含“临时表”链接。点击链接。 在此页面中,单击“导出”,然后单击“导出到 GCS”。 现在您可以将表格内容导出为 CSV。

【讨论】:

以上是关于bigquery - 保存大型查询结果的主要内容,如果未能解决你的问题,请参考以下文章

查询结果后 BigQuery 导出多个文件

如何让我的客户将 BigQuery 查询结果导出为 CSV

将 BigQuery 结果与 FCM 结合使用

将 MySQL 查询转换为 BigQuery 查询

如何将 BigQuery 查询结果保存到另一个表?

BigQuery - 在插入表时调用查询