簡體   English   中英

大查詢 API 通過應用程序腳本 - 我在一個很大但在較小的表上工作的表上收到錯誤。 通過應用程序腳本有大小限制嗎?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM