[英]Big Query API via Apps script - I get an error on a table that is large but works on a smaller table. Is there a size limit via apps script?
我正在使用 Apps 脚本向 BigQuery 发送查询
我有一个项目 ID -“bigquerytest-282720”,一个名为“testDataSet”的数据集和 2 个表(smallTable 和 bigTable)。
两个表具有相同的架构。 表 1 只有 6 行,表 2 有 600000
当我使用请求查询表 1(小表)时:
var request = {
query: 'SELECT * ' +
'FROM bigquerytest-282720.testDataSet.smallTable ' +
'WHERE Member = "North"',
useLegacySql: false
}
它成功返回记录
但是当我查询表 2(大表)时
var request = {
query: 'SELECT * ' +
'FROM bigquerytest-282720.testDataSet.bigTable ' +
'WHERE Member = "North"',
useLegacySql: false
}
消息失败
GoogleJsonResponseException:API 调用 bigquery.jobs.getQueryResults 失败并出现错误:未找到:作业 bigquerytest-282720:job_6JTUvDCP7aWSJQT4FfGZLJFqwzqm(第 35 行,文件“代码”)
我可以从控制台中成功查询表 2,因此它似乎是应用程序脚本限制。 当我在控制台中查询表 2 时,它说 74.3MB 已被处理,所以从 Apps 脚本查询时可能存在表大小限制?
有什么见解吗?
谢谢
编辑:我现在尝试使用 300000、100000 和 50000 行的表。 它适用于 50000。很明显,Apps 脚本中的某处存在限制。 这个限制是固定的还是我可以在某处支付更多费用? 我目前没有支付与 BigQuery 相关的任何费用,但如果我这样做,它会解决问题吗?
Urlfetch 响应大小的限制为 50MB 。 这同样适用于高级 Google 服务或其他请求外部数据的内置服务。
啊啊啊——我已经解决了。 我正在从谷歌驱动器在 bigQuery 中创建表。 事实证明,它实际上并没有在 bigQuery 中创建表,它只是链接到谷歌驱动器中的 csv 文件,即有效的 50000 行表。 我实际上是从本地机器上传的,所以这实际上是在 bigQuery 中创建的。 所以我已经注册了免费试用并从谷歌云存储上传,然后实际上在 bigQuery 中创建了大表,我现在可以从应用程序脚本中成功查询。 可以作为外部数据源查询的文件大小必须有限制,当我之前尝试使用应用程序脚本将数据上传到 bigQuery 时,在谷歌驱动器中获取文件。 它给出了 50mb 限制的错误,所以我想这与通过 bigQuery 从谷歌驱动器查询相同。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.