PySpark पढ़ें। लकड़ी की छत ()

Pyspark Parhem Lakari Ki Chata



PySpark में, write.parquet() फ़ंक्शन डेटाफ़्रेम को लकड़ी की फ़ाइल में लिखता है और read.parquet() Parquet फ़ाइल को PySpark DataFrame या किसी अन्य डेटा स्रोत में पढ़ता है। अपाचे स्पार्क में स्तंभों को जल्दी और कुशलता से संसाधित करने के लिए, हमें डेटा को संपीड़ित करने की आवश्यकता होती है। डेटा कंप्रेशन हमारी मेमोरी को बचाता है और सभी कॉलम फ्लैट लेवल में बदल जाते हैं। इसका मतलब है कि फ्लैट कॉलम लेवल स्टोरेज मौजूद है। फ़ाइल जो इन्हें संग्रहीत करती है उसे PARQUET फ़ाइल के रूप में जाना जाता है।

इस गाइड में, हम मुख्य रूप से read.parquet() फ़ंक्शन का उपयोग करके PySpark DataFrame/SQL में parquet फ़ाइल को पढ़ने/लोड करने पर ध्यान केंद्रित करेंगे जो कि pyspark.sql.DataFrameReader वर्ग में उपलब्ध है।

सामग्री का विषय:







लकड़ी की छत फ़ाइल प्राप्त करें



Parquet फ़ाइल को PySpark DataFrame में पढ़ें



Parquet फ़ाइल को PySpark SQL में पढ़ें





Pyspark.sql.DataFrameReader.parquet ()

इस फ़ंक्शन का उपयोग लकड़ी की फ़ाइल को पढ़ने और इसे PySpark DataFrame में लोड करने के लिए किया जाता है। यह लकड़ी की छत फ़ाइल का पथ/फ़ाइल नाम लेता है। हम केवल read.parquet() फ़ंक्शन का उपयोग कर सकते हैं क्योंकि यह सामान्य फ़ंक्शन है।

वाक्य - विन्यास:



आइए read.parquet() का सिंटैक्स देखें:

spark_app.read.parquet(file_name.parquet/path)

सबसे पहले, पाइप कमांड का उपयोग करके PySpark मॉड्यूल स्थापित करें:

पिप पाइस्पार्क स्थापित करें

लकड़ी की छत फ़ाइल प्राप्त करें

एक लकड़ी की फ़ाइल को पढ़ने के लिए, आपको उस डेटा की आवश्यकता होती है जिसमें उस डेटा से लकड़ी की फ़ाइल उत्पन्न होती है। इस भाग में, हम देखेंगे कि PySpark DataFrame से एक लकड़ी की फाइल कैसे बनाई जाती है।

चलिए 5 रिकॉर्ड के साथ एक PySpark DataFrame बनाते हैं और इसे 'industry_parquet' parquet फ़ाइल में लिखते हैं।

pyspark आयात करें

pyspark.sql से SparkSession, Row आयात करें

linuxhint_spark_app = SparkSession.builder.appName ( 'लिनक्स संकेत' .getOrCreate()

# डेटाफ़्रेम बनाएं जो उद्योग विवरण संग्रहीत करता है

उद्योग_डीएफ = linuxhint_spark_app.createDataFrame ([पंक्ति (प्रकार = 'कृषि' क्षेत्र = 'अमेरीका' ,
रेटिंग = 'गर्म' ,कुल_कर्मचारी= 100 ),

पंक्ति (प्रकार = 'कृषि' क्षेत्र = 'भारत' , रेटिंग = 'गर्म' ,कुल_कर्मचारी= 200 ),

पंक्ति (प्रकार = 'विकास' क्षेत्र = 'अमेरीका' , रेटिंग = 'गरम' ,कुल_कर्मचारी= 100 ),

पंक्ति (प्रकार = 'शिक्षा' क्षेत्र = 'अमेरीका' , रेटिंग = 'ठंडा' ,कुल_कर्मचारी= 400 ),

पंक्ति (प्रकार = 'शिक्षा' क्षेत्र = 'अमेरीका' , रेटिंग = 'गरम' ,कुल_कर्मचारी= बीस )

])

# वास्तविक डेटाफ़्रेम

उद्योग_डीएफ.शो ()

# लकड़ी की फाइल में industry_df लिखें

industry_df.coalesce ( 1 .लिखना। लकड़ी की छत ( 'उद्योग_लकड़ी की छत' )

आउटपुट:

यह DataFrame है जिसमें 5 रिकॉर्ड हैं।

पिछले DataFrame के लिए एक लकड़ी की छत फ़ाइल बनाई गई है। यहां, एक्सटेंशन के साथ हमारी फ़ाइल का नाम 'part-00000-ff70f69d-f1fb-4450-b4b4-dfd5a8d6c7ad-c000.snappy.parquet' है। हम इस फ़ाइल का उपयोग पूरे ट्यूटोरियल में करते हैं।

Parquet फ़ाइल को PySpark DataFrame में पढ़ें

हमारे पास लकड़ी की छत फ़ाइल है। आइए इस फ़ाइल को read.parquet() फ़ंक्शन का उपयोग करके पढ़ें और इसे PySpark DataFrame में लोड करें।

pyspark आयात करें

pyspark.sql से SparkSession, Row आयात करें

linuxhint_spark_app = SparkSession.builder.appName ( 'लिनक्स संकेत' .getOrCreate()

# लकड़ी की फाइल को dataframe_from_parquet ऑब्जेक्ट में पढ़ें।

dataframe_from_parquet=linuxhint_spark_app.read.parquet( 'भाग-00000-ff70f69d-f1fb-4450-b4b4-dfd5a8d6c7ad-c000.snappy.parquet' )

# dataframe_from_parquet-DataFrame प्रदर्शित करें

dataframe_from_parquet.show ()

आउटपुट:

हम शो () विधि का उपयोग करके डेटाफ़्रेम प्रदर्शित करते हैं जो कि लकड़ी की फाइल से बनाया गया था।

Parquet फ़ाइल के साथ SQL क्वेरी

DataFrame में लोड होने के बाद, SQL तालिकाएँ बनाना और DataFrame में मौजूद डेटा को प्रदर्शित करना संभव हो सकता है। हमें एक अस्थायी दृश्य बनाने की आवश्यकता है और डेटाफ़्रेम से रिकॉर्ड वापस करने के लिए SQL कमांड का उपयोग करें जो कि लकड़ी की फाइल से बनाया गया है।

उदाहरण 1:

'सेक्टर' नाम का एक अस्थायी दृश्य बनाएं और डेटाफ़्रेम में रिकॉर्ड प्रदर्शित करने के लिए SELECT कमांड का उपयोग करें। आप इसका उल्लेख कर सकते हैं ट्यूटोरियल यह बताता है कि स्पार्क-एसक्यूएल में एक दृश्य कैसे बनाया जाए।

pyspark आयात करें

pyspark.sql से SparkSession, Row आयात करें

linuxhint_spark_app = SparkSession.builder.appName ( 'लिनक्स संकेत' .getOrCreate()

# लकड़ी की फाइल को dataframe_from_parquet ऑब्जेक्ट में पढ़ें।

dataframe_from_parquet=linuxhint_spark_app.read.parquet( 'भाग-00000-ff70f69d-f1fb-4450-b4b4-dfd5a8d6c7ad-c000.snappy.parquet' )

# उपरोक्त लकड़ी की फाइल से दृश्य बनाएं - 'सेक्टर'

dataframe_from_parquet.createOrReplaceTempView( 'सेक्टर' )

# क्वेरी सेक्टरों से सभी रिकॉर्ड प्रदर्शित करने के लिए

linuxhint_spark_app.sql( 'सेक्टर्स से * चुनें' )।दिखाना()

आउटपुट:

उदाहरण 2:

पिछले दृश्य का उपयोग करते हुए, SQL क्वेरी लिखें:

  1. 'भारत' से संबंधित क्षेत्रों से सभी रिकॉर्ड प्रदर्शित करने के लिए।
  2. 100 से अधिक कर्मचारी वाले सेक्टरों के सभी रिकॉर्ड प्रदर्शित करने के लिए।
# 'भारत' से संबंधित क्षेत्रों से सभी रिकॉर्ड प्रदर्शित करने के लिए प्रश्न।

linuxhint_spark_app.sql( 'सेक्टर से * चुनें जहां क्षेत्र = 'भारत'' )।दिखाना()

# 100 से अधिक कर्मचारी वाले सेक्टरों से सभी रिकॉर्ड प्रदर्शित करने की क्वेरी

linuxhint_spark_app.sql( 'सेक्टर से * चुनें जहां कुल_कर्मचारी> 100' )।दिखाना()

आउटपुट:

क्षेत्र के साथ केवल एक रिकॉर्ड है जो 'भारत' है और कर्मचारियों के साथ दो रिकॉर्ड हैं जो 100 से अधिक हैं।

Parquet फ़ाइल को PySpark SQL में पढ़ें

सबसे पहले, हमें CREATE कमांड का उपयोग करके एक व्यू बनाना होगा। SQL क्वेरी के भीतर 'पथ' कीवर्ड का उपयोग करके, हम स्पार्क SQL में लकड़ी की फाइल को पढ़ सकते हैं। पथ के बाद, हमें फ़ाइल का फ़ाइल नाम/स्थान निर्दिष्ट करने की आवश्यकता है।

वाक्य - विन्यास:

चिंगारी_ऐप.एसक्यूएल ( 'पार्केट विकल्पों (पथ' का उपयोग करके अस्थायी दृश्य बनाएं view_name file_name.parquet ')' )

उदाहरण 1:

'सेक्टर 2' नाम का एक अस्थायी दृश्य बनाएं और उसमें लकड़ी की फाइल पढ़ें। एसक्यूएल () फ़ंक्शन का उपयोग करके, दृश्य में मौजूद सभी रिकॉर्ड प्रदर्शित करने के लिए चयन क्वेरी लिखें।

pyspark आयात करें

pyspark.sql से SparkSession, Row आयात करें

linuxhint_spark_app = SparkSession.builder.appName ( 'लिनक्स संकेत' .getOrCreate()

# स्पार्क-एसक्यूएल में लकड़ी की छत फ़ाइल पढ़ें

linuxhint_spark_app.sql( 'पार्केट विकल्पों (पथ' का उपयोग करके सेक्टर 2 का अस्थायी दृश्य बनाएं भाग-00000-ff70f69d-f1fb- 4450 -b4b4-dfd5a8d6c7ad-c000.snappy.parquet ')' )

# क्वेरी सेक्टर2 से सभी रिकॉर्ड प्रदर्शित करने के लिए

linuxhint_spark_app.sql( 'सेक्टर 2 से * चुनें' )।दिखाना()

आउटपुट:

उदाहरण 2:

पिछले दृश्य का उपयोग करें और 'हॉट' या 'कूल' की रेटिंग वाले सभी रिकॉर्ड प्रदर्शित करने के लिए क्वेरी लिखें।

# रेटिंग के साथ सेक्टर 2 से सभी रिकॉर्ड प्रदर्शित करने की क्वेरी- हॉट या कूल।

linuxhint_spark_app.sql( 'सेक्टर 2 से * चुनें जहां रेटिंग = 'हॉट' या रेटिंग = 'कूल'' )।दिखाना()

आउटपुट:

'हॉट' या 'कूल' की रेटिंग के साथ तीन रिकॉर्ड हैं।

निष्कर्ष

PySpark में, write.parquet() फ़ंक्शन DataFrame को parquet फ़ाइल में लिखता है। Read.parquet() फ़ंक्शन Parquet फ़ाइल को PySpark DataFrame या किसी अन्य डेटा स्रोत में पढ़ता है। हमने सीखा कि Parquet फ़ाइल को PySpark DataFrame और PySpark तालिका में कैसे पढ़ा जाए। इस ट्यूटोरियल के भाग के रूप में, हमने यह भी चर्चा की कि कैसे PySpark DataFrame से टेबल बनाएं और WHERE क्लॉज का उपयोग करके डेटा को कैसे फ़िल्टर करें।