शुरू करेंमुफ़्त में शुरू करें

बीच के नतीजों को स्टोर करना

जैसा आपने Chapter 1 में देखा, R और Spark के बीच डेटा की कॉपी करना मूल रूप से धीमा काम है. इसका मतलब है कि पिछली एक्सरसाइज़ में जैसा आपने डेटा collect किया था, वैसा तभी करें जब वास्तव में ज़रूरत हो.

Pipe ऑपरेटर डेटा मैनिप्युलेशन कमांड्स को एक साथ चेन करने के लिए बहुत अच्छा है. लेकिन आम तौर पर, आप पूरी एनालिसिस को सब कुछ चेन करके नहीं कर सकते. उदाहरण के लिए, यह बहुत खराब प्रैक्टिस है, क्योंकि आप अपना कोड कभी डिबग नहीं कर पाएँगे.

final_results <- starting_data %>%
  # 743 steps piped together
  # ... %>%
  collect()

यह एक दुविधा पैदा करता है. आपको बीच-बीच की कैलकुलेशंस के नतीजों को स्टोर करना होता है, लेकिन आप उन्हें collect नहीं करना चाहते क्योंकि यह धीमा है. समाधान है compute() का उपयोग करना: यह कैलकुलेशन को compute करता है, लेकिन नतीजों को Spark पर एक अस्थायी डेटा फ्रेम में स्टोर करता है. compute दो आर्ग्युमेंट लेता है: एक tibble, और Spark डेटा फ्रेम का एक वैरिएबल नाम जिसमें नतीजे स्टोर होंगे.

a_tibble %>%
  # some calculations %>%
  compute("intermediate_results")

यह अभ्यास पाठ्यक्रम का हिस्सा है

R में sparklyr के साथ Spark परिचय

पाठ्यक्रम देखें

अभ्यास निर्देश

आपके लिए spark_conn नाम का एक Spark कनेक्शन बनाया गया है. Spark में स्टोर ट्रैक मेटाडेटा से जुड़ा एक tibble पहले से track_metadata_tbl के रूप में परिभाषित है.

  • track_metadata_tbl की वे रो फ़िल्टर करें, जहाँ artist_familiarity 0.8 से बड़ा है.
  • compute() का उपयोग करके नतीजे compute करें.
    • नतीजों को "familiar_artists" नाम के Spark डेटा फ्रेम में स्टोर करें.
    • नतीजे को computed नाम के एक R tibble को असाइन करें.
  • उपलब्ध Spark डेटासेट्स देखने के लिए src_tbls() का उपयोग करें.
  • computed की class() प्रिंट करें. ध्यान दें कि collect() के विपरीत, compute() एक remote tibble लौटाता है. डेटा अब भी Spark क्लस्टर में स्टोर रहता है.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# track_metadata_tbl has been pre-defined
track_metadata_tbl

computed <- track_metadata_tbl %>%
  # Filter where artist familiarity is greater than 0.8
  ___ %>%
  # Compute the results
  ___

# See the available datasets
___

# Examine the class of the computed results
___
कोड संपादित करें और चलाएँ