PySpark में DataFrames के साथ Data Visualization

PySpark के साथ Big Data Fundamentals

Upendra Devisetty

Science Analyst, CyVerse

Data visualization क्या है?

  • Data visualization का मतलब है अपने डेटा को ग्राफ़ या चार्ट में दिखाना

  • Python में visualization के लिए open source plotting tools:

    • Matplotlib, Seaborn, Bokeh आदि
  • PySpark DataFrames से plotting तीन तरीकों से की जाती है

    • pyspark_dist_explore लाइब्रेरी

    • toPandas()

    • HandySpark लाइब्रेरी

PySpark के साथ Big Data Fundamentals

Pyspark_dist_explore से Data Visualization

  • Pyspark_dist_explore लाइब्रेरी DataFrames पर तेज़ insights देती है

  • अभी तीन फंक्शन उपलब्ध हैं: hist(), distplot(), और pandas_histogram()

test_df = spark.read.csv("test.csv", header=True, inferSchema=True)
test_df_age = test_df.select('Age')
hist(test_df_age, bins=20, color="red")
PySpark के साथ Big Data Fundamentals

DataFrames plot करने के लिए Pandas का उपयोग

  • pandas DataFrames से चार्ट बनाना आसान है
test_df = spark.read.csv("test.csv", header=True, inferSchema=True)
test_df_sample_pandas = test_df.toPandas()
test_df_sample_pandas.hist('Age')
  • नोट: डेटा बहुत बड़ा हो तो toPandas() इस्तेमाल करना बेहतर नहीं है
PySpark के साथ Big Data Fundamentals

Pandas DataFrame बनाम PySpark DataFrame

  • Pandas DataFrames इन-मेमोरी, single-server संरचनाएँ हैं, जबकि PySpark पर ऑपरेशन parallel चलते हैं

  • Pandas में ऑपरेशन लगाते ही परिणाम मिलता है, पर PySpark DataFrame में lazy evaluation होती है

  • Pandas DataFrame mutable है और PySpark DataFrames immutable हैं

  • Pandas API, PySpark DataFrame API से ज़्यादा ऑपरेशंस सपोर्ट करती है

PySpark के साथ Big Data Fundamentals

HandySpark से visualization

  • HandySpark, PySpark यूज़र अनुभव बेहतर करने के लिए बना पैकेज है
    • डेटा फ़ेच करना आसान
    • Distributed computation बनी रहती है
test_df = spark.read.csv('test.csv', header=True, inferSchema=True)
hdf = test_df.toHandy()
hdf.cols["Age"].hist()
PySpark के साथ Big Data Fundamentals

चलें, DataFrames visualize करें

PySpark के साथ Big Data Fundamentals

Preparing Video For Download...