[英]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.