PySpark में Resilient distributed datasets

PySpark परिचय

Benjamin Schmidt

Data Engineer

PySpark में parallelization क्या है?

  • क्लस्टर के कई नोड्स पर डेटा और कम्प्यूटेशन को ऑटो-पैरेललाइज़ करना
  • बड़े डेटासेट का डिस्ट्रीब्यूटेड प्रोसेसिंग, कई नोड्स पर
  • वर्कर नोड्स डेटा को समानांतर प्रोसेस करते हैं, और अंत में परिणाम जोड़ते हैं
  • स्केल पर तेज प्रोसेसिंग (गीगाबाइट्स से टेराबाइट्स तक)

Parallelization

PySpark परिचय

RDDs को समझना

RDDs या Resilient Distributed Datasets:

  • क्लस्टर में डिस्ट्रीब्यूटेड डेटा कलेक्शंस, नोड फेल होने पर ऑटो-रिकवरी के साथ
  • बड़े पैमाने के डेटा के लिए उपयुक्त
  • Immutable होते हैं और map() या filter() जैसी operations से बदले जा सकते हैं; collect() या paralelize() जैसी actions से परिणाम लाएँ या RDDs बनाएं
PySpark परिचय

एक RDD बनाना

# Initialize a Spark session
from pyspark.sql import SparkSession

spark = SparkSession.builder.appName("RDDExample").getOrCreate()

# Create a DataFrame from a csv census_df = spark.read.csv("/census.csv")
# Convert DataFrame to RDD census_rdd = census_df.rdd
# Show the RDD's contents using collect() census_rdd.collect()
PySpark परिचय

Collect दिखाना

# Collect the entire DataFrame into a local Python list of Row objects
data_collected = df.collect()

# Print the collected data
for row in data_collected:
    print(row)
```    
PySpark परिचय

RDDs बनाम DataFrames

DataFrames

  • हाई-लेवल: उपयोग में आसान और ऑप्टिमाइज़्ड
  • SQL जैसी operations: SQL-जैसी क्वेरी के साथ कम कोड में जटिल काम करें
  • Schema जानकारी: SQL टेबल की तरह कॉलम और टाइप्स होते हैं

RDDS

  • लो-लेवल: अधिक लचीले, पर जटिल operations के लिए ज्यादा कोड चाहिए
  • Type Safety: डेटा टाइप्स सुरक्षित रखते हैं, पर DataFrames जैसा optimization नहीं मिलता
  • No Schema: SQL या रिलेशनल जैसे structured डेटा पर काम करना कठिन
  • बड़े पैमाने पर स्केलिंग
  • DataFrames की तुलना में बहुत verbose और analytics के लिए कमज़ोर
PySpark परिचय

कुछ उपयोगी functions और methods

  • map(): यह method किसी फंक्शन (जैसे हमारी लिखी lambda) को पूरे डेटासेट पर लागू करता है, जैसे: rdd.map(map_function)
  • collect(): क्लस्टर से डेटा इकट्ठा करता है, जैसे: rdd.collect()
PySpark परिचय

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

PySpark परिचय

Preparing Video For Download...