PySpark - SparkConf

ในการเรียกใช้แอปพลิเคชัน Spark บนโลคัล / คลัสเตอร์คุณต้องตั้งค่าการกำหนดค่าและพารามิเตอร์บางอย่างซึ่งเป็นสิ่งที่ SparkConf ช่วยได้ มีการกำหนดค่าเพื่อเรียกใช้แอปพลิเคชัน Spark บล็อกโค้ดต่อไปนี้มีรายละเอียดของคลาส SparkConf สำหรับ PySpark

class pyspark.SparkConf (
   loadDefaults = True, 
   _jvm = None, 
   _jconf = None
)

ในขั้นต้นเราจะสร้างวัตถุ SparkConf ด้วย SparkConf () ซึ่งจะโหลดค่าจาก spark.*คุณสมบัติของระบบ Java เช่นกัน ตอนนี้คุณสามารถตั้งค่าพารามิเตอร์ต่างๆโดยใช้ออบเจ็กต์ SparkConf และพารามิเตอร์จะมีลำดับความสำคัญเหนือคุณสมบัติของระบบ

ในคลาส SparkConf มีเมธอด setter ซึ่งรองรับการผูกมัด ตัวอย่างเช่นคุณสามารถเขียนconf.setAppName(“PySpark App”).setMaster(“local”). เมื่อเราส่งออบเจ็กต์ SparkConf ไปยัง Apache Spark แล้วผู้ใช้คนใดก็ไม่สามารถแก้ไขได้

ต่อไปนี้เป็นคุณลักษณะที่ใช้บ่อยที่สุดของ SparkConf -

  • set(key, value) - เพื่อตั้งค่าคุณสมบัติการกำหนดค่า

  • setMaster(value) - เพื่อตั้งค่า URL หลัก

  • setAppName(value) - ในการตั้งชื่อแอปพลิเคชัน

  • get(key, defaultValue=None) - เพื่อรับค่าการกำหนดค่าของคีย์

  • setSparkHome(value) - เพื่อกำหนดเส้นทางการติดตั้ง Spark บนโหนดของผู้ปฏิบัติงาน

ให้เราพิจารณาตัวอย่างต่อไปนี้ของการใช้ SparkConf ในโปรแกรม PySpark ในตัวอย่างนี้เรากำลังตั้งชื่อแอปพลิเคชัน spark เป็นPySpark App และตั้งค่า URL หลักสำหรับแอปพลิเคชัน spark เป็น→ spark://master:7077.

บล็อกโค้ดต่อไปนี้มีบรรทัดเมื่อเพิ่มเข้าไปในไฟล์ Python จะตั้งค่าการกำหนดค่าพื้นฐานสำหรับการรันแอ็พพลิเคชัน PySpark

---------------------------------------------------------------------------------------
from pyspark import SparkConf, SparkContext
conf = SparkConf().setAppName("PySpark App").setMaster("spark://master:7077")
sc = SparkContext(conf=conf)
---------------------------------------------------------------------------------------