開始使用免費開始

反覆與篩選

身為資料顧問,你會收到各式各樣格式的資料。某位客戶剛傳來一個 40 GB 的 CSV 檔,內容是全球高等教育機構的資料。

初階分析師因記憶體不足而無法正確解析這些資料,且沒有預算添購可一次處理整個資料集的運算資源。你目前只需要分析澳洲的機構。CSV 的檔案路徑已存放在變數 filepath 中。你被要求為這份資料實作一個高效率的讀取器。已為你載入 paralleldoParallelforeachiterators 套件。

本練習屬於課程

R 平行程式設計

檢視課程

練習說明

  • 使用反覆器從 filepath 逐行讀取。
  • 使用合適的函式合併結果以建立資料框。
  • 指定平行運算子。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

cl <- makeCluster(4)
registerDoParallel(cl)
# Use an iterator to read lines
foreach(l = ___,
        # Combine the lines as rows
        ___ = ___
        # Use the parallel operator
        ) ___ {
  line <- strsplit(l, ",")[[1]]
  if (line[4] == "Australia") {
    return(line)
  }
}

stopCluster(cl)
編輯並執行程式碼