什麼是可擴充的資料處理?

R 的可擴展資料處理

Michael J. Kane and Simon Urbanek

Instructors, DataCamp

在本課程中…

  • 處理超出電腦容量的資料
  • 撰寫可擴充的程式碼
  • 分批匯入與處理資料
R 的可擴展資料處理

RAM

所有 R 物件都儲存在 RAM。

R 的可擴展資料處理

R 的可擴展資料處理

變數能有多大?

「R 不適合處理超過電腦 RAM 10–20% 的資料。」— R 安裝與管理手冊

R 的可擴展資料處理

交換(swapping)很沒效率

  • RAM 不足時,資料會移到磁碟
  • 磁碟遠慢於 RAM,執行時間會增加
R 的可擴展資料處理

可擴充的解法

  • 將子集合載入 RAM
  • 處理該子集
  • 保留結果並丟棄子集
R 的可擴展資料處理

為什麼程式碼很慢?

  • 計算的複雜度

  • 謹慎規劃磁碟操作,寫出快速且可擴充的程式碼

R 的可擴展資料處理

效能基準測試

library(microbenchmark)

microbenchmark( rnorm(100), rnorm(10000) )
Unit: microseconds
         expr    min      lq     mean  median      uq     max neval
   rnorm(100)   7.84   8.440   9.5459   8.773   9.355   29.56   100
 rnorm(10000) 679.51 683.706 755.5693 690.876 712.416 2949.03   100
R 的可擴展資料處理

一起來練習吧!

R 的可擴展資料處理

Preparing Video For Download...