The Bigmemory Project

R में Scalable Data Processing

Michael Kane

Assistant Professor, Yale University

bigmemory

bigmemory का उपयोग बड़ी मैट्रिसेज़ को स्टोर, संशोधित और प्रोसेस करने के लिए होता है, जो कंप्यूटर की RAM से बड़ी भी हो सकती हैं

R में Scalable Data Processing

big.matrix

  • Create
  • Retrieve
  • Subset
  • Summarize
R में Scalable Data Processing

"out-of-core" का क्या मतलब है?

  • R ऑब्जेक्ट RAM में रहते हैं

  • जब RAM कम पड़ती है

    • चीज़ें डिस्क पर शिफ्ट होती हैं
    • प्रोग्राम चलते रहते हैं (धीमे) या क्रैश हो जाते हैं

डेटा को तभी RAM में लाएँ जब प्रोसेसिंग के लिए ज़रूरी हो.

R में Scalable Data Processing

big.matrix कब उपयोग करें?

  • RAM साइज का 20%
  • Dense मैट्रिसेज़
R में Scalable Data Processing

bigmemory का अवलोकन

  • bigmemory big.matrix डेटा टाइप देता है, जो डिस्क पर स्टोर मैट्रिसेज़ को बनाने, स्टोर करने, एक्सेस करने और संशोधित करने में काम आता है

  • डेटा डिस्क पर रहता है और ज़रूरत पर RAM में अपने-आप आता-जाता है

R में Scalable Data Processing

bigmemory का अवलोकन

एक big.matrix ऑब्जेक्ट:

  • सिर्फ एक बार इम्पोर्ट करना पड़ता है
  • "backing" फ़ाइल
  • "descriptor" फ़ाइल
R में Scalable Data Processing

bigmemory का एक उदाहरण

library(bigmemory)

# Create a new big.matrix object x <- big.matrix(nrow = 1, ncol = 3, type = "double", init = 0, backingfile = "hello_big_matrix.bin", descriptorfile = "hello_big_matrix.desc")
R में Scalable Data Processing

backing और descriptor फ़ाइलें

  • backing फ़ाइल: डिस्क पर मैट्रिक्स का बाइनरी रूप
  • descriptor फ़ाइल: मेटाडेटा रखती है, जैसे पंक्तियों/स्तंभों की संख्या, नाम, आदि
R में Scalable Data Processing

bigmemory का एक उदाहरण

# See what's in it
 x[,]
  0    0    0
x
An object of class "big.matrix"
Slot "address":
<pointer: 0x108e2a9a0>
R में Scalable Data Processing

मैट्रिक्स से समानताएँ

# Change the value in the first row and column
x[1, 1] <- 3
# Verify the change has been made
x[,]
   3    0    0
R में Scalable Data Processing

अभ्यास करते हैं!

R में Scalable Data Processing

Preparing Video For Download...