我們在BigQuery中創建了一個查詢,返回SKU及其之間的相關性。喜歡的東西:如何在壓縮文件中保留Google雲端存儲行順序
sku_0,sku_1,0.023
sku_0,sku_2,0.482
sku_0,sku_3,0.328
sku_1,sku_0,0.023
sku_1,sku_2,0.848
sku_1,sku_3,0.736
結果有數百萬行,我們將其導出到谷歌雲存儲這會導致一些壓縮文件。
下載這些文件,我們有一個Python應用程序,通過它們循環使用相關性進行一些計算。
我們試着利用這樣一個事實,即我們的第一列SKU已經訂購了,而不必在我們的應用程序中應用這種排序。
但是後來我們發現我們從GCS獲得的文件改變了skus出現的順序。
看起來這些文件是由多個進程讀取結果並將其保存在不同的文件中創建的,這打破了我們想要維護的順序。
舉個例子,如果我們創建了2個文件,第一個文件看起來類似的東西:
sku_0,sku_1,0.023
sku_0,sku_3,0.328
sku_1,sku_2,0.0848
第二個文件:
sku_0,sku_2,0.482
sku_1,sku_0,0.328
sku_1,sku_3,0.736
這是什麼一個例子看起來像是讀取結果的兩個進程,每個進程都將其當前行保存在一個特定的文件上,該文件改變了列的順序。
因此,我們尋找一些標誌,我們可以用來強制保存排序,但目前爲止找不到任何標誌。
有什麼方法可以用來強制保存這些GCS文件中的順序?或者有一些解決方法?
在此先感謝,
我們剛剛遷移到標準的SQL和這工作。非常感謝! –