बिग डेटा, टिनी tibble
पिछले अभ्यास में, जब आपने डेटा को Spark में कॉपी किया, तो copy_to() ने एक वैल्यू लौटाई। यह रिटर्न वैल्यू tibble() का एक खास प्रकार है जो अपने अंदर कोई डेटा नहीं रखता। इसे समझाने के लिए, आपको यह जानना होगा कि tidyverse पैकेज डेटा को कैसे स्टोर करते हैं। आमतौर पर tibbles, data.frame का ही एक वैरिएंट होती हैं जिनका प्रिंट तरीका ज्यादा अच्छा होता है। लेकिन dplyr उन्हें रिमोट डेटा सोर्स, जैसे डेटाबेस और — जैसा कि यहाँ है — Spark से डेटा स्टोर करने की भी सुविधा देता है। रिमोट डेटासेट्स के लिए, tibble ऑब्जेक्ट केवल रिमोट डेटा से कनेक्शन स्टोर करता है। इस पर बाद में विस्तार से चर्चा होगी, लेकिन अभी के लिए महत्वपूर्ण बात यह है कि भले ही आपके पास बड़ा डेटासेट हो, tibble ऑब्जेक्ट का साइज छोटा रहता है.
Spark साइड पर, डेटा DataFrame नाम के वैरिएबल में स्टोर होता है। यह R के data.frame वैरिएबल टाइप के लगभग सीधे-सीधे समतुल्य है। (हालाँकि कॉलम वैरिएबल टाइप्स के नाम थोड़े अलग होते हैं — उदाहरण के लिए numeric कॉलम्स को DoubleType कॉलम्स कहा जाता है।) इस कोर्स में, जब तक data.frame और DataFrame के बीच विशेष भेद बताने की ज़रूरत न हो, तब तक शब्द data frame का उपयोग किया जाएगा। चूँकि ये टाइप्स डेटाबेस टेबल्स के अनुरूप भी हैं, इसलिए कभी-कभी इस तरह के आयताकार डेटा के लिए table शब्द भी उपयोग किया जाएगा.
tbl() को Spark कनेक्शन और Spark data frame के नाम वाली स्ट्रिंग के साथ कॉल करने पर वही tibble ऑब्जेक्ट वापस मिलता है जो आपने copy_to() इस्तेमाल करते समय मिला था.
एक उपयोगी टूल जिसे आप इस अभ्यास में देखेंगे, pryr पैकेज का object_size() फंक्शन है। यह दिखाता है कि कोई ऑब्जेक्ट कितनी मेमोरी घेरता है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में sparklyr के साथ Spark परिचय
अभ्यास निर्देश
आपके लिए spark_conn नाम से एक Spark कनेक्शन बनाया गया है। 1,000 ट्रैक्स का ट्रैक मेटाडेटा Spark क्लस्टर में "track_metadata" टेबल में स्टोर है।
tbl()का उपयोग करके"track_metadata"टेबल से लिंक करें। परिणामtrack_metadata_tblको असाइन करें।track_metadata_tblपरdim()चलाकर देखें कि डेटासेट कितना बड़ा है।track_metadata_tblपरobject_size()चलाकर देखें कि tibble कितना छोटा है।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Link to the track_metadata table in Spark
track_metadata_tbl <- ___(___, "___")
# See how big the dataset is
___(___)
# See how small the tibble is
___(___)