PySpark के साथ Big Data Fundamentals
Upendra Devisetty
Science Analyst, CyVerse
PySpark में आप DataFrame API और SQL क्वेरी के जरिए SparkSQL से इंटरैक्ट कर सकते हैं
DataFrame API डेटा के लिए एक प्रोग्रामेटिक डोमेन‑स्पेसिफिक लैंग्वेज (DSL) देता है
DataFrame ट्रांसफॉर्मेशन और एक्शन प्रोग्रामmatically बनाना आसान होता है
SQL क्वेरी संक्षिप्त, समझने में आसान और पोर्टेबल हो सकती हैं
DataFrames पर किए जाने वाले ऑपरेशन 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')]
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|
+----------+
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
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