2017-02-18 46 views
-2

我現在正在處理一個處理大數據的項目。我們從客戶那裏獲得大量的數據,說明大約600萬的數據,並且我們處理這些數據以對齊它們並填充空的空間併產生最終結果。如何將一個數據表中的兩列與另一個數據表中的另外兩列進行比較..?

但是有必要檢查我們是不是在過程中丟失任何數據或混合數據。

所以故事就像在一個數據表中說,表1我有兩列 命名部分和客戶端。並且這個我想和處理過的 數據表比較一下表2和列newpart和new clients。這裏的 數據不是必須按照相同的順序,並且表2 將添加額外的列。

這裏的問題是我怎樣才能比較這些600萬的數據,以最大的準確性?有沒有任何開源工具可以做到這一點。 ?任何參考視頻或期刊?

回答

0

我希望partclient的組合在每個表中都是唯一的嗎?我還假設你在每張桌上有(part, client)的主要我們的獨特索引。

CREATE TEMPORARY TABLE t (PRIMARY KEY(part, client)) 
    SELECT part, client FROM table1; 
INSERT INTO t 
    SELECT part, client FROM table2; 

現在您已經有了兩個表中所有部分 - 客戶端對的列表。

這將找到那些從表1失蹤:

SELECT part, client 
    FROM t 
    LEFT JOIN table1 USING(part, client) 
    WHERE part IS NULL 

有這個變種,但可能關鍵是LEFT JOIN ... IS NULL

+0

謝謝Ric。這將有所幫助。我會嘗試。既然我們正在通過一個黑盒測試頭腦來看待它,我認爲一個幫助檢查這些數據的工具可以減少工作量。無論如何,我真的非常感謝你幫助我。 –

+0

查看Percona工具包 - 它可能有幫助你的工具。 –

相關問題