2016-08-23 86 views
1

我希望獲取查詢結果的size_bytes而不將結果保存到表中。
1.我注意到,我們可以使用使用獲取查詢結果的size_bytes

select size_bytes from [datasets__TABLES__] 

拿到表的大小的數據集。
2.我所試圖做的是那種本,

select size_bytes from 
(some query) 

那是一個辦法做到這一點?避免得到實際結果,只得到結果的字節大小?

謝謝。

+1

以獲得您實際需要首先生成結果的結果大小!所以,不,不幸的是 - 你無法避免先獲得實際結果!如果你能解釋你的用例 - 我們可能會找到一些解決方法 –

+0

我c,謝謝米哈伊爾,那麼我會先生成結果或者可能會想一些其他方法。情況是,我想計算不同情況下的數據消耗,這將跨越幾個表格,以便我正在考慮直接從結果中獲取大小而不保存到大查詢中。 – HaipengSu

回答

1

以獲得您實際需要首先生成結果的結果大小!所以,不幸的是,你不能避免首先得到實際結果

如果你真的想/需要避免產生/付費的結果 - 你可以嘗試根據你的數據的原始大小來估計結果大小(更多這裏: Find out the amount of space each field takes in Google Big Query)以及結果中的估計行數

+0

謝謝你再次回答米哈伊爾。這不是關於使用幹運行估計處理的數據大小,而是估計處理後的結果大小。我想我會先生成表格然後獲得大小。 – HaipengSu

+0

我提供的鏈接,因爲它顯示如何找到實際運行任何查詢的原始數據的大小。正如我在我的回答中解釋的那樣 - 如果您知道原始數據的性質/大小,查詢並且您對輸出中有多少行有一個想法 - 基於此,您可以嘗試估計輸出的大小。但確定 - 運行相關示例並從中獲取大小是我認爲最直接和最準確的方式 –

+0

完全同意,根據原始表的大小和輸出行,我可以絕對估計輸出結果的大小。無論哪種方式將工作。謝謝 – HaipengSu