重複我與BigQuery的工作,並在文檔中有人說:避免BigQuery中
不同於傳統的RDBMS中,沒有主/次或 行ID鍵的概念。如果需要,請在表模式中標識 這一用途。
你知道我如何插入沒有重複作爲PK會做(但不只是在同一個插入)? Regards
重複我與BigQuery的工作,並在文檔中有人說:避免BigQuery中
不同於傳統的RDBMS中,沒有主/次或 行ID鍵的概念。如果需要,請在表模式中標識 這一用途。
你知道我如何插入沒有重複作爲PK會做(但不只是在同一個插入)? Regards
因此,讓我們先澄清一些事實吧。因爲你不能插入重複。
Bigquery是一個適用於大型數據集的託管數據倉庫,,它是免費的,不是傳統數據庫的替代品。
您每天最多隻能在表格上執行96次DML(更新,刪除)操作。這是設計。它很低,因爲它會迫使你像BQ一樣認爲它是一個數據湖。
所以在Bigquery上,你實際上讓每一個數據都進入了,一切都只能通過設計追加。這意味着通過設計,您可以擁有一個數據庫,每次更新都會保留一個新行。因此,如果你想使用最新的數據,你需要選擇最後一行並使用它。
我們實際上利用了我們添加到同一行的每個新更新的見解。例如,我們可以檢測到最終用戶在註冊流程中選擇它的國家需要多長時間。因爲我們有一個國家的下拉直到滾動到他的國家需要一些時間,並且指標顯示了這一點,因爲我們在BQ結束了兩行,選擇了一個先前的國家,選擇了一個國家並根據時間選擇我們是能夠優化流程。現在在我們國家的下拉菜單中,我們列出了前5個最近/頻繁出現的國家/地區,因此這些用戶不再需要滾動和選擇國家/地區,速度更快。
換句話說,您使用Streaming Insert功能來不斷添加新行。然後,通常使用窗口函數to pick last row來獲得SQL查詢。
您無法更新行或追加到記錄,因爲每個表的BigQuery limits DML statements到96。