การทำงานที่ใช้ข้อมูลขนาดใหญ่เป็นงานที่ท้าทาย วันนี้คุณนัท เจษฎา Data Scientist จาก SCB TechX ขอแนะนำเครื่องมือ Apache Spark ที่ช่วยให้การทำงานง่ายและเร็วขึ้น พร้อมรองรับการเขียนโค้ดได้หลายภาษา อาทิ R, SQL, Python, Scala, Java เพื่อจัดการกับงานฝั่ง Data Engineering, Data Science และ Machine Learning โดยทำงานได้บนเครื่องคอมพิวเตอร์เครื่องเดียวหรือกระจายไปยังเครื่องอื่น ๆ ก็ได้ ซึ่งองค์ประกอบหลักของ Apache Spark มีดังนี้
มี Spark SQL + DataFrames ที่ใช้ประมวลผลข้อมูลที่มีโครงสร้างชัดเจน (Schema) โดยจะทำผ่าน DataFrames โดยใช้ภาษา SQL ในการประมวลผล และมีการทำงานแบบกระจายไปหลายเครื่องได้เพื่อเพิ่มความเร็ว
มี Streaming ใช้สำหรับประมวลผลข้อมูลที่ไหลเข้ามาเรื่อยๆ (Stream) แบบ Real Time โดยสามารถใช้งานกับแหล่งข้อมูลที่หลากหลายได้เช่น HDFS, Flume และ Kafka
มี Mlib ช่วยในการทำ Machine Learning จากข้อมูลขนาดใหญ่ รองรับการกระจายการทำงานไปหลายๆเครื่องคอมพิวเตอร์ เพื่อให้ทำงานได้เร็วขึ้น (Scale)
มี GraphX ที่มาพร้อมกับ Library ใช้สร้างกราฟและคำนวณค่าต่าง ๆ จากข้อมูลที่มีความสัมพันธ์กัน
มี Spark Core API เป็นตัวหลักของ Spark โดยมีการสร้างฟังก์ชันการทำงานต่าง ๆ เพื่อรองรับภาษาที่หลากหลาย
ส่วนประโยชน์ของการใช้งาน Apache Spark นั้นขอลิสข้อหลัก ๆ 3 ด้านคือ
ด้านความเร็ว Spark สามารถทำงานได้เร็วกว่า Hadoop 100 เท่า โดยใช้ประโยชน์จากการประมวลผลใน Memory และการเพิ่มประสิทธิภาพจากด้านอื่น ๆ
ด้านการใช้งาน Spark นั้นง่ายต่อการใช้งานผ่าน APIs สำหรับการจัดการเซตข้อมูลขนาดใหญ่ผ่าน Dataframes
ด้านเครื่องมือ มีเครื่องมือและ Library ที่รองรับการทำงานได้อย่างหลากหลายและครบวงจร จึงทำให้ง่ายต่อการทำงานตั้งแต่นำข้อมูลเข้าระบบจนนำไปสู่การทำ Machine Learning ได้
ท้ายนี้บริษัทได้เปิดตัวบริการด้าน Data Platform แบบครบวงจรแล้ว หากท่านใดสนใจให้บริษัทเป็นที่ปรึกษา หรือช่วยจัดการด้านข้อมูลให้แก่องค์กรต่างๆ สามารถส่งรายละเอียดมาได้เลยนะคะที่ contact@scbtechx.io 😊