2017-07-24 54 views
0

鑑於BigQuery中存在分區表,是否有可能使其不被分區?是否有可能在BigQuery中使分區表非分區?

+0

重要的是 - 您可以使用投票下面的投票答案左側的勾號來標記接受的答案。看到http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work#5235爲什麼它很重要!對答案投票也很重要。表決有用的答案。 ...當某人回答你的問題時,你可以檢查該怎麼做 - http://stackoverflow.com/help/someone-answers。遵循這些簡單的規則,您可以提高自己的聲譽得分,同時讓我們有動力回答您的問題:o)請考慮! –

回答

2

AFAIK沒有任何功能來分區分區表。但是,沒有什麼能阻止你做select * from partitioned_table並將結果寫入新的(非分區表)。使用這種方法,你當然會受到成本的打擊。

另一種方法是將您的表格導出到GCS,然後將導出的文件重新加載回去。加載並不花費任何東西,所以您只需支付文件的短暫時間存儲在GCS中。

+0

良好的反饋意見,謝謝。 – corgrath

+0

@GrahamPolley - 你有機會檢查我的答案嗎?你怎麼看?我測試過 - 它對我很有用 –

+0

@MikhailBerlyant - 是的,非常聰明的做法。 Upvoted。 bq cli工具也適用於複製 - 「bq cp -a ....'。雖然,我用(3TB)測試的表格花了1個小時複製! –

1

是否有可能使分區表在BigQuery中不分區?

這是可能的!快速和免費($ 0.00)

步驟1 - xxx.yyy.your_new_NON_PARTITIONED_table

- 具有完全相同的架構作爲源表,並沒有行

#standardSQL 
SELECT * 
FROM `xxx.yyy.your_partitioned_table` 
WHERE FALSE 

上方運行與目的地創建新的非分區表

步驟2 - 以WRITE_APPEND作爲寫入調用複製作業

您的副本配置如下所示

{ 
    "configuration": { 
     "copy": { 
      "sourceTable": { 
       "projectId": "xxx", 
       "datasetId": "yyy", 
       "tableId": "your_partitioned_table" 
      }, 
      "destinationTable": { 
       "projectId": "xxx", 
       "datasetId": "yyy", 
       "tableId": "your_new_NON_PARTITIONED_table" 
      }, 
      "createDisposition": "CREATE_IF_NEEDED", 
      "writeDisposition": "WRITE_APPEND" 
     } 
    } 
} 

任務完成!
注意:這兩個步驟都是免費的!

相關問題