PySpark SQL के साथ DataFrames से इंटरैक्ट करना

PySpark के साथ Big Data Fundamentals

Upendra Devisetty

Science Analyst, CyVerse

DataFrame API बनाम SQL क्वेरी

  • PySpark में आप DataFrame API और SQL क्वेरी के जरिए SparkSQL से इंटरैक्ट कर सकते हैं

  • DataFrame API डेटा के लिए एक प्रोग्रामेटिक डोमेन‑स्पेसिफिक लैंग्वेज (DSL) देता है

  • DataFrame ट्रांसफॉर्मेशन और एक्शन प्रोग्रामmatically बनाना आसान होता है

  • SQL क्वेरी संक्षिप्त, समझने में आसान और पोर्टेबल हो सकती हैं

  • DataFrames पर किए जाने वाले ऑपरेशन SQL क्वेरी से भी किए जा सकते हैं

PySpark के साथ Big Data Fundamentals

SQL क्वेरी चलाना

  • SparkSession की sql() मेथड SQL क्वेरी रन करती है

  • sql() मेथड एक SQL स्टेटमेंट आर्गुमेंट के रूप में लेती है और नतीजा DataFrame लौटाती है

df.createOrReplaceTempView("table1")
df2 = spark.sql("SELECT field1, field2 FROM table1")
df2.collect()
[Row(f1=1, f2='row1'), Row(f1=2, f2='row2'), Row(f1=3, f2='row3')]
PySpark के साथ Big Data Fundamentals

डेटा निकालने के लिए SQL क्वेरी

test_df.createOrReplaceTempView("test_table")
query = '''SELECT Product_ID FROM test_table'''
test_product_df = spark.sql(query)
test_product_df.show(5)
+----------+
|Product_ID|
+----------+
| P00069042|
| P00248942|
| P00087842|
| P00085442|
| P00285442|
+----------+
PySpark के साथ Big Data Fundamentals

SQL क्वेरी से समरी और ग्रूपिंग

test_df.createOrReplaceTempView("test_table")
query = '''SELECT Age, max(Purchase) FROM test_table GROUP BY Age'''
spark.sql(query).show(5)
+-----+-------------+
|  Age|max(Purchase)|
+-----+-------------+
|18-25|        23958|
|26-35|        23961|
| 0-17|        23955|
|46-50|        23960|
|51-55|        23960|
+-----+-------------+
only showing top 5 rows
PySpark के साथ Big Data Fundamentals

SQL क्वेरी से फिल्टरिंग

test_df.createOrReplaceTempView("test_table")
query = '''SELECT Age, Purchase, Gender FROM test_table WHERE Purchase > 20000 AND Gender == "F"'''
spark.sql(query).show(5)
+-----+--------+------+
|  Age|Purchase|Gender|
+-----+--------+------+
|36-45|   23792|     F|
|26-35|   21002|     F|
|26-35|   23595|     F|
|26-35|   23341|     F|
|46-50|   20771|     F|
+-----+--------+------+
only showing top 5 rows
PySpark के साथ Big Data Fundamentals

अभ्यास का समय!

PySpark के साथ Big Data Fundamentals

Preparing Video For Download...