RDDs और DataFrames
Spark data abstractions
RDDs और DataFrames, CoddyKit पर बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
Apache Spark क्या है
Apache Spark बड़े पैमाने पर डेटा संसाधित करने वाला वितरित इंजन है। यह डेटा को एक क्लस्टर में बाँटकर गणनाएँ समानांतर रूप से चलाता है। Scala Spark की मूल भाषा है, इसलिए यह संक्षिप्त और प्रकार-जागरूक API प्रदान करती है।
RDD
Resilient Distributed Dataset (RDD) Spark का निम्न-स्तरीय अमूर्तीकरण है: एक अपरिवर्तनीय, विभाजित संग्रह जिसे समानांतर रूप से संसाधित किया जा सकता है और किसी नोड के विफल होने पर वंशावली से फिर बनाया जा सकता है।
SparkContext और SparkSession
आप SparkSession के माध्यम से Spark में प्रवेश करते हैं। इसका sparkContext RDD बनाता है; स्वयं सत्र DataFrame बनाता है और SQL चलाता है।
import org.apache.spark.sql.SparkSession
val spark = SparkSession.builder()
.appName("Demo")
.master("local[*]")
.getOrCreate()RDD बनाना
किसी स्थानीय संग्रह को समानांतर बनाकर या कोई फ़ाइल पढ़कर RDD बनाएँ। प्रत्येक विभाजन को अलग कार्य द्वारा संसाधित किया जाता है।
val sc = spark.sparkContext
val numbers = sc.parallelize(Seq(1, 2, 3, 4, 5))
val lines = sc.textFile("data.txt")DataFrame
DataFrame नामित और टाइप किए गए स्तंभों वाली एक वितरित तालिका है — यह स्कीमा वाले पंक्तियों के RDD जैसी होती है। Catalyst अनुकूलक DataFrame क्वेरी की योजना बनाकर उसे अनुकूलित कर सकता है।
DataFrame बनाना
संग्रहों से ( toDF के साथ) या CSV, JSON अथवा Parquet जैसी संरचित फ़ाइलों को पढ़कर DataFrame बनाएँ।
import spark.implicits._
val df = Seq(("Alice", 30), ("Bob", 25)).toDF("name", "age")
val csv = spark.read.option("header", "true").csv("people.csv")DataFrame का निरीक्षण करना
पंक्तियाँ प्रिंट करने के लिए show, स्तंभ प्रकार देखने के लिए printSchema, और पंक्तियों की संख्या जानने के लिए count का उपयोग करें।
df.printSchema()
df.show()
println(df.count())Dataset और प्रकार सुरक्षा
Dataset एक टाइप किया हुआ DataFrame है: Dataset[T], जहाँ T एक केस क्लास है। यह DataFrame अनुकूलन को संकलन-समय प्रकार जाँच के साथ जोड़ता है।
import spark.implicits._
case class Person(name: String, age: Int)
val ds = Seq(Person("Alice", 30)).toDS()RDD बनाम DataFrame बनाम Dataset
अपनी आवश्यकताओं के आधार पर चुनें:
- RDD — पूरा नियंत्रण, कोई स्कीमा नहीं, कोई अनुकूलक नहीं
- DataFrame — स्कीमा + Catalyst अनुकूलन, बिना प्रकार वाली पंक्तियाँ
- Dataset — स्कीमा + अनुकूलन + प्रकार सुरक्षा
इनके बीच रूपांतरण
.rdd से DataFrame को RDD में बदलें, या केस क्लासों वाले RDD को .toDF से DataFrame में बदलें। Dataset को भी .toDF से DataFrame में बदला जा सकता है।
val rdd = df.rdd // DataFrame -> RDD[Row]
val back = ds.toDF() // Dataset -> DataFrameसादा Scala संग्रह
अवधारणात्मक रूप से DataFrame एक Scala संग्रह जैसा होता है, लेकिन वितरित रूप में। समझने के लिए यहाँ स्थानीय, स्व-निहित समकक्ष दिया गया है।
object Main {
case class Person(name: String, age: Int)
def main(args: Array[String]): Unit = {
val people = Seq(Person("Alice", 30), Person("Bob", 25))
people.foreach(p => println(s"${p.name}: ${p.age}"))
}
}त्वरित जाँच
कौन-सा अमूर्तीकरण स्कीमा, Catalyst अनुकूलन और संकलन-समय प्रकार सुरक्षा प्रदान करता है?
पुनरावलोकन
आपने Spark के डेटा अमूर्तीकरणों से परिचय प्राप्त किया:
- प्रवेश-बिंदु के रूप में
SparkSession - RDD — निम्न-स्तरीय वितरित संग्रह
- DataFrame — स्कीमा वाली वितरित तालिका
- Dataset — टाइप किया हुआ DataFrame
अगला विषय: रूपांतरण और क्रियाएँ।
एआई शिक्षक के साथ Scala सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 39
- पाठ
- 143
अक्सर पूछे जाने वाले प्रश्न
क्या “RDDs और DataFrames” पाठ निःशुल्क है?
हाँ—“RDDs और DataFrames” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“RDDs और DataFrames” में मैं क्या सीखूँगा?
Spark data abstractions आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“RDDs और DataFrames” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर बैकएंड इंजीनियरिंग और कार्यात्मक प्रोग्रामिंग के लिए Scala पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- RDDs और DataFrames
- Transformations और Actions
- Spark SQL
- Aggregations