2017-05-02 55 views
0

今天我注意到了BigQuery的另一個奇怪行爲。 我在BQ網絡用戶界面運行UDF標準的SQL:使用SQL「INSERT INTO」的BigQuery數據在一段時間後消失

CREATE TEMPORARY FUNCTION ... 
INSERT INTO projectid.dataset.inserttable... 

一切似乎不錯,UDF SQL的結果被插入插入表中正確的,我可以從「行數」說。但是表大小不正確,在運行插入查詢之前仍然保留表大小。此外,我發現1小時後所有插入的行都消失了。

更多信息我發現,當運行「DETELE FROM insert table true」或「SELECT ...」時,刪除的行數和表格大小對於插入的數據似乎是正確的。但是不能在WEB UI中正確預覽插入表。

然後我猜測表格的「細節」或「預覽」信息有時間延遲?我可以知道你對這種行爲有什麼想法嗎?

回答

2

預覽可能會有延遲,所以SELECT * FROM YourTable;會給出最新的結果,或者您可以使用COUNT(*)來驗證行數是否正確。您可以將其視爲與流式傳輸類似,如果您已經嘗試過,其中某些行可能會在流式緩衝區中存在一段時間,然後纔會將其放入常規存儲中。

+0

感謝您的回覆。但爲什麼行數首先看起來是正確的,我也可以在web ui中預覽表,但是數據在大約1小時後消失了?這與BQ中的數據是否穩定有關?即使要插入的數據只有100行,也會出現問題。 – zhihong

+0

請澄清您的意思 - 是從表中刪除的數據(如果您執行了「SELECT * ...」)還是從預覽中刪除?插入的數據始終穩定。如果插入成功,您可以在之後立即運行另一個查詢並查看最新數據。 –

+0

不,數據沒有從表中刪除,我可以正確運行「刪除」和「選擇」。在檢查網絡用戶界面時,數據從「詳細信息」和「預覽」中「消失」。我說它已經消失了,因爲在運行「insert into」查詢後,數據確實在「Detail」和「Preview」中顯示了正確的信息,但是這些行在一段時間後會被扣除。這就是爲什麼我很奇怪。後來我發現運行「INSERT INTO」查詢時,「表大小」和「上次修改」一直未更新。 – zhihong