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)
---------------------------------------------------------------------------------------