खोज…


परिचय

DataFrame पंक्तियों और टाइप किए गए स्तंभों में व्यवस्थित डेटा का एक अमूर्त हिस्सा है। यह रिलेशनल SQL- आधारित डेटाबेस में पाए गए डेटा के समान है। हालाँकि इसे स्पार्क 2.0 में डेटासेट [रो] के लिए बस एक प्रकार का उपनाम में बदल दिया गया है, यह अभी भी व्यापक रूप से उपयोग किया जाता है और अपने स्कीमा लचीलेपन और एसक्यूएल-आधारित संचालन के उपयोग से जटिल प्रसंस्करण पाइपलाइनों के लिए उपयोगी है।

स्काला में डाटाफ्रेम का निर्माण

DataFrames बनाने के कई तरीके हैं। उन्हें स्थानीय सूचियों से बनाया जा सकता है, वितरित RDD या डेटा स्रोत से पढ़ सकते हैं।

ToDF का उपयोग करना

स्पार्क एसक्यूएल इम्प्लिट्स को आयात करके, एक स्थानीय Seq, Array या RDD से एक DataFrame बना सकता है, जब तक कि सामग्री उत्पाद उप-प्रकार के होते हैं (ट्यूपल्स और केस क्लास उत्पाद उप-प्रकार के प्रसिद्ध उदाहरण हैं)। उदाहरण के लिए:

import sqlContext.implicits._
val df = Seq(
  (1, "First Value", java.sql.Date.valueOf("2010-01-01")),
  (2, "Second Value", java.sql.Date.valueOf("2010-02-01"))
).toDF("int_column", "string_column", "date_column")

CreateDataFrame का उपयोग करना

एक अन्य विकल्प createDataFrame में मौजूद createDataFrame विधि का उपयोग कर रहा है। यह विकल्प स्थानीय सूचियों या उत्पाद उप-प्रकारों के RDDs को toDF साथ बनाने की अनुमति देता है, लेकिन स्तंभों के नाम एक ही चरण में सेट नहीं किए जाते हैं। उदाहरण के लिए:

val df1 = sqlContext.createDataFrame(Seq(
  (1, "First Value", java.sql.Date.valueOf("2010-01-01")),
  (2, "Second Value", java.sql.Date.valueOf("2010-02-01"))
))

इसके अतिरिक्त, यह दृष्टिकोण Row उदाहरणों के RDDs से निर्माण की अनुमति देता है, जब तक कि एक schema पैरामीटर परिणामी DataFrame के स्कीमा की परिभाषा के लिए पारित हो जाता है। उदाहरण:

import org.apache.spark.sql.types._
val schema = StructType(List(
    StructField("integer_column", IntegerType, nullable = false),
    StructField("string_column", StringType, nullable = true),
    StructField("date_column", DateType, nullable = true)
))

val rdd = sc.parallelize(Seq(
  Row(1, "First Value", java.sql.Date.valueOf("2010-01-01")),
  Row(2, "Second Value", java.sql.Date.valueOf("2010-02-01"))
))

val df = sqlContext.createDataFrame(rdd, schema)

स्रोतों से पढ़ना

शायद DataFrame बनाने का सबसे आम तरीका डेटा स्रोत से है। उदाहरण के लिए, इसे hdfs में एक लकड़ी की छत फ़ाइल से बना सकते हैं:

val df = sqlContext.read.parquet("hdfs:/path/to/file")


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow