我有一個巨大的製表符分隔文件。 (10,000行爲主題,> 1百萬次檢測爲列)。 我有一個映射文件,其中包含與100萬列中的每一列相關的信息。 我需要爲每個主題,對於每個分析,(對於每個單元格)查看映射文件並獲取一些值並替換現有值。這是可並行的嗎?
在Python或Perl中,我將不得不通讀每一行,將其拆分,並在映射文件中查找每個單元格。
在R中,我可以一次讀取每列,並且所有行都可以從映射文件中獲取信息。
無論哪種方式,遍歷每行或每列的整個過程佔用大量時間,因爲每個單元格查找都需要完成。
有沒有一種方法可以並行化?我應該怎麼想,如果我想並行化並使其更快?
另外,我有興趣學習如何在map/reduce風格中處理這個問題嗎?
樣本數據文件如下:(製表符分隔的)
ID S1 S2 S3 S4 S5
1 AA AB BA BB AB
2 BA BB AB AA AA
3 BA AB AB AB AB
4 BA AB AB BB AA
5 AA AB BA BB AB
6 AA BB AB AA AA
映射文件如下:
SID Al_A Al_B
S1 A C
S2 G T
S3 C A
S4 G T
S5 A C
所以在數據文件中,在每一個細胞中,每一個A和B,必須在映射文件中查找A映射到的內容(來自Al_A列)以及B映射到的內容(來自Al_B列)。
您能描述映射文件嗎? – ikegami
您可以給出一小段數據(幾行和幾列,分析)以及片段的相關映射文件/數據,以便我們可以看到您正在談論的那類事情? R是矢量化的,因此您可以使用基於合併或每個整列的基於索引的替換,以並行方式處理單列。 –
在R中,您可以讀取單獨核心中的單個列。如果不測試這是否會提高速度,我無法判斷。 –