วันอังคารที่ 18 ตุลาคม พ.ศ. 2559
Apache Spark คืออะไร
Apache Spark คือ Processing Engine ชนิดหนึ่งที่ใช้ในการประมวลผลขนาดใหญ่ๆ โดยจะเน้นการประมวลผลแบบ in-memory ทำให้มีประสิทธิภาพที่รวดเร็ว
ใน Apache Spark จะมี Library ให้เลือกใช้ตามแต่ชนิดของงาน มีดังนี้
Spark SQL ใช้สำหรับแปลง dataset ให้อยู่ในรูปแบบของ dataframe ทำให้สามารถใช้ SQL command ในการประมวลผลข้อมูลได้
Spark Streaming ใช้สำหรับการประมวลผลแบบ Real-Time
MLlib ใช้สำหรับการประมวลผล Machine Learning
GraphX ใช้สำหรับการประมวลผล Graph
และยังสามารถ Run งานบน Hadoop, Mesos, Standalone และ On Cloud
ภาษาที่รองรับ
Scala(แนะนำ)
Java
Python(แนะนำ)
R
Resilient Distributed Dataset (RDD) คือ Dataset ที่กระจายจายข้อมูลอยู่บนหลายๆ Node ของ Cluster ซึ่งมีความสามารถที่จะประมวลผลแบบ Parallel อีกทั้งยังมีความยืดหยุ่นเช่น หากมี Node ที่ Down ขณะทำงาน Spark จะไปกระจายงานให้กับ Node อื่นที่ยังมีข้อมูลแบบเดียวกันกับ Node ที่ Down ไปทำให้ยังสามารถประมวลผลต่อได้
Lazy Execution : สำหรับ Apache Spark จะมีการประมวลผลแบบ Lazy Execution คือจะไม่ทำการประมวลผลจนกว่าจะเจอ คำสั่งที่เป็น Action
Transformation : สำหรับ Apache Spark จะมีคำสั่งเกี่ยวกับ Transformations หรือจัดข้อมูลให้อยู่ในรูปแบบที่ต้องการเช่น
map(func)
filter(func)
flatMap(func)
mapPartitions(func)
Action : สำหรับ Apache Spark จะมีคำสั่งเกี่ยวกับ Action ต่างๆเช่น
reduce(func)
collect()
count()
first()
take(n)
saveAsTextFile(path)
สมัครสมาชิก:
ส่งความคิดเห็น (Atom)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น