Blockdit Logo
Blockdit Logo (Mobile)
สำรวจ
ลงทุน
คำถาม
เข้าสู่ระบบ
มีบัญชีอยู่แล้ว?
เข้าสู่ระบบ
หรือ
ลงทะเบียน
PythonSnippets
•
ติดตาม
16 ต.ค. 2021 เวลา 12:19 • การศึกษา
เมื่อได้ import แล้ว "SparkSession" class นี้เรียกใช้อย่างไร
การเรียกใช้ SparkSession สำหรับผู้เริ่มต้น (ใช้ properties ตามที่ Spark กำหนดเอง)
อันดับแรก สาวไปยังต้นตอของแพ็กเกจ PySpark ซึ่งก็คือ Spark จะเห็นว่างานของ Spark แต่ละงานไม่ง่ายเลยและยังเกี่ยวข้องกับหลายๆสิ่ง ดังนั้นในการใช้งาน class ต่างๆในแพ็กเกจ PySpark จึงต้องมีการตั้งค่า Spark properties จำนวนมาก
วิธีการใช้ class ที่ชื่อ SparkSession สำหรับผู้เริ่มต้น จึงควรที่จะปล่อยให้ Spark ตั้งค่า properties อัตโนมัติ
งานที่ Spark สามารถทำได้ - SQL, Streaming และ Machine Learning *หมายเหตุ* PySpark ยังทำ GraphX ไม่ได้
การใช้ class ที่ชื่อ SparkSession อย่างง่ายที่สุด คือ 1 บรรทัดต่อไปนี้
ss = SparkSession.builder.getOrCreate()
บรรทัดนี้มี 2 ขั้นตอน คือ
1. ใช้ SparkSession ผ่านทาง attribute ของมันที่ชื่อว่า builder จะทำให้เกิด Builder object
2. ใช้ getOrCreate ซึ่งเป็น method ของ Builder object จะทำให้เกิด SparkSession object ซึ่งตั้งชื่อว่า ss
เพื่อที่จะดูว่า Spark ตั้งค่า properties อะไรบ้าง ต้องเพิ่มอีก 1 บรรทัด คือ
auto_prop = ss.sparkContext.getConf().getAll()
ค่าของ auto_prop จะมีอยู่ 10 รายการ ล้วนแต่เป็น properties ที่ Spark ตั้งค่าเองทั้งสิ้น
การใช้ SparkSession แบบง่ายที่สุด และผลที่มีต่อ Spark properties
ทั้งๆที่ Spark properties มีมากมาย แต่ Spark ได้เลือกที่จะแสดง 10 properties นี้ ดังนั้นต้องเป็น properties ที่สำคัญมากอย่างแน่นอน
เมื่อค้นต่อไป พอจะทราบว่า ในชื่อของ properties ทั้ง 10 ชื่อนี้ มีคำศัพท์สำคัญในแวดวงของ Spark แฝงอยู่ ได้แก่ master, driver, executor และ RDD รวมทั้ง host ซึ่งหมายถึงคอมพิวเตอร์ คำว่า host นี้โยงไปหาคำศัพท์สำคัญอีกคำหนึ่ง คือ cluster ซึ่งก็คือคอมพิวเตอร์หลายๆเครื่องที่ Spark ใช้
คำศัพท์สำคัญเหล่านี้ (master, driver, executor, RDD และ cluster) หากยังไม่เข้าใจดีพอ จะใช้ PySpark ได้ในวงจำกัด ดังนั้นจากนี้ไปจะพยายามสำรวจและทดลองเกี่ยวกับคำศัพท์กลุ่มนี้ ก่อนที่จะเข้าสู่เรื่องต่างๆของ Spark ต่อไป
การอ้างอิง
https://spark.apache.org/docs/latest/api/python/getting_started/quickstart.html
https://spark.apache.org/docs/latest/configuration.html#available-properties
https://spark.apache.org/docs/latest/api/python/reference/pyspark.sql.html#spark-session-apis
https://kontext.tech/column/spark/298/get-the-current-spark-context-settingsconfigurations
python
bigdata
บันทึก
ดูเพิ่มเติมในซีรีส์
Step-by-Step toward PySpark Application
โฆษณา
ดาวน์โหลดแอปพลิเคชัน
© 2024 Blockdit
เกี่ยวกับ
ช่วยเหลือ
คำถามที่พบบ่อย
นโยบายการโฆษณาและบูสต์โพสต์
นโยบายความเป็นส่วนตัว
แนวทางการใช้แบรนด์ Blockdit
Blockdit เพื่อธุรกิจ
ไทย