บทบาทของ Apache Spark ใน Big Data และสิ่งที่ทำให้แตกต่าง
เผยแพร่แล้ว: 2018-05-30Apache Spark ได้กลายเป็นสิ่งที่เข้ามาแทนที่ Hadoop ที่เข้าถึงได้และน่าสนใจยิ่งขึ้น ซึ่งเป็นทางเลือกดั้งเดิมสำหรับการจัดการ Big Data Apache Spark เช่นเดียวกับเครื่องมือ Big Data ที่ซับซ้อนอื่นๆ นั้นทรงพลังอย่างยิ่งและมีอุปกรณ์ครบครันสำหรับการจัดการชุดข้อมูลขนาดใหญ่อย่างมีประสิทธิภาพ
ผ่านโพสต์ในบล็อกนี้ มาช่วยคุณชี้แจงประเด็นปลีกย่อยของ Apache Spark
สารบัญ
Apache Spark คืออะไร?
Spark ในแง่ง่ายๆ คือการจัดการข้อมูลทั่วไปและเครื่องมือประมวลผลที่เหมาะสำหรับการใช้งานในสถานการณ์ต่างๆ นักวิทยาศาสตร์ด้านข้อมูลใช้ประโยชน์จาก Apache Spark เพื่อปรับปรุงการสืบค้น วิเคราะห์ และการแปลงข้อมูล งานที่ทำได้บ่อยที่สุดโดยใช้ Spark รวมถึงการสืบค้นแบบโต้ตอบในชุดข้อมูลขนาดใหญ่ การวิเคราะห์ และการประมวลผลข้อมูลการสตรีมจากเซ็นเซอร์และแหล่งข้อมูลอื่นๆ ตลอดจนงานการเรียนรู้ของเครื่อง
Spark เปิดตัวในปี 2009 ที่มหาวิทยาลัยแคลิฟอร์เนีย เบิร์กลีย์ พบทางไปยังศูนย์บ่มเพาะของ Apache Software Foundation ในปี 2014 และได้รับการเลื่อนตำแหน่งในปี 2014 ให้เป็นหนึ่งในโครงการระดับสูงสุดของมูลนิธิ ปัจจุบัน Spark เป็นหนึ่งในโครงการที่ได้รับคะแนนสูงที่สุดของมูลนิธิ ชุมชนที่เติบโตขึ้นรอบๆ โครงการนี้มีทั้งผู้มีส่วนร่วมส่วนบุคคลที่อุดมสมบูรณ์และผู้สนับสนุนองค์กรที่ได้รับทุนสนับสนุนอย่างดี
นับตั้งแต่เริ่มดำเนินการ งานส่วนใหญ่จะอยู่ในหน่วยความจำ ดังนั้นจึงมักจะเร็วกว่าและปรับให้เหมาะสมมากกว่าวิธีการอื่นๆ เช่น MapReduce ของ Hadoop ซึ่งเขียนข้อมูลเข้าและออกจากฮาร์ดไดรฟ์ระหว่างแต่ละขั้นตอนของการประมวลผล อ้างว่าความสามารถในหน่วยความจำของ Spark ให้ความเร็ว 100x มากกว่า MapReduce ของ Hadoop การเปรียบเทียบนี้ไม่ว่าจะจริงเท็จแค่ไหนก็ไม่ยุติธรรม เนื่องจาก Spark ได้รับการออกแบบโดยคำนึงถึงความเร็ว ในขณะที่ Hadoop ได้รับการพัฒนาในอุดมคติสำหรับการประมวลผลแบบกลุ่ม (ซึ่งไม่ต้องการความเร็วมากเท่ากับการประมวลผลแบบสตรีม)
ทุกสิ่งที่คุณจำเป็นต้องรู้เกี่ยวกับ Apache Stormสปาร์ค มีอะไรทำ?
Spark มีความสามารถในการจัดการข้อมูลครั้งละหลายเพตะไบต์ ข้อมูลนี้ถูกกระจายไปทั่วคลัสเตอร์ของเซิร์ฟเวอร์ที่ให้ความร่วมมือนับพัน – จริงหรือเสมือน Apache spark มาพร้อมกับชุดไลบรารีและ API ที่ครอบคลุมซึ่งรองรับภาษาที่ใช้กันทั่วไปทั้งหมด เช่น Python, R และ Scala Spark มักใช้กับ HDFS (Hadoop Distributed File System – ระบบจัดเก็บข้อมูลของ Hadoop) แต่สามารถรวมเข้ากับระบบจัดเก็บข้อมูลอื่นๆ ได้ดีพอๆ กัน
กรณีการใช้งานทั่วไปของ Apache Spark รวมถึง:
- Spark การสตรีมและการประมวลผล: ในปัจจุบัน การจัดการ "สตรีม" ของข้อมูลถือเป็นความท้าทายสำหรับมืออาชีพด้านข้อมูล ข้อมูลนี้มาถึงอย่างสม่ำเสมอ โดยมักจะมาจากหลายแหล่ง และมาพร้อมกันทั้งหมด แม้ว่าวิธีหนึ่งคือการจัดเก็บข้อมูลนี้ในดิสก์และวิเคราะห์ข้อมูลย้อนหลัง แต่สิ่งนี้จะทำให้ธุรกิจสูญเสียไป ตัวอย่างเช่น สตรีมข้อมูลทางการเงินสามารถประมวลผลแบบเรียลไทม์เพื่อระบุและปฏิเสธธุรกรรมที่อาจเป็นการฉ้อโกง Apache Spark ช่วยได้อย่างแม่นยำ
- การเรียนรู้ของเครื่อง: ด้วยปริมาณข้อมูลที่เพิ่มขึ้น แนวทางของ ML ก็มีความเป็นไปได้และแม่นยำมากขึ้นเช่นกัน ทุกวันนี้ ซอฟต์แวร์สามารถฝึกให้ระบุและดำเนินการตามทริกเกอร์ จากนั้นจึงใช้โซลูชันเดียวกันกับข้อมูลใหม่และข้อมูลที่ไม่รู้จัก คุณสมบัติที่โดดเด่นของ Apache Spark ในการจัดเก็บข้อมูลในหน่วยความจำช่วยในการสืบค้นข้อมูลได้รวดเร็วยิ่งขึ้น และทำให้เป็นตัวเลือกที่ยอดเยี่ยมสำหรับการฝึกอัลกอริทึม ML
- การวิเคราะห์การสตรีมแบบโต้ตอบ: นักวิเคราะห์ธุรกิจและนักวิทยาศาสตร์ด้านข้อมูลต้องการสำรวจข้อมูลของตนโดยถามคำถาม พวกเขาไม่ต้องการทำงานกับคิวรีที่กำหนดไว้ล่วงหน้าเพื่อสร้างแดชบอร์ดแบบคงที่ของการขาย ผลผลิตในสายการผลิต หรือราคาหุ้นอีกต่อไป กระบวนการสืบค้นแบบโต้ตอบนี้ต้องการระบบเช่น Spark ที่สามารถตอบสนองได้อย่างรวดเร็ว
- การรวมข้อมูล: ข้อมูลถูกสร้างโดยแหล่งข้อมูลที่หลากหลายและไม่ค่อยสะอาด กระบวนการ ETL (แยก แปลง โหลด) มักดำเนินการเพื่อดึงข้อมูลจากระบบต่างๆ ล้างข้อมูล สร้างมาตรฐาน จากนั้นจัดเก็บไว้ในระบบแยกต่างหากสำหรับการวิเคราะห์ Spark มีการใช้มากขึ้นเพื่อลดต้นทุนและเวลาที่จำเป็นสำหรับสิ่งนี้
บริษัทที่ใช้ Apache Spark
องค์กรจำนวนมากได้ให้การสนับสนุนและร่วมมือกับ Apache Spark อย่างรวดเร็ว พวกเขาตระหนักว่า Spark มอบคุณค่าที่แท้จริง เช่น การสืบค้นแบบโต้ตอบและการเรียนรู้ของเครื่อง
บริษัทที่มีชื่อเสียงเช่น IBM และ Huawei ได้ลงทุนไปเป็นจำนวนมากในเทคโนโลยีนี้แล้ว และสตาร์ทอัพที่กำลังเติบโตจำนวนมากกำลังสร้างผลิตภัณฑ์ของตนในและรอบๆ Spark ตัวอย่างเช่น ทีม Berkeley ที่รับผิดชอบในการสร้าง Spark ได้ก่อตั้ง Databricks ในปี 2013 Databricks จัดเตรียมแพลตฟอร์มข้อมูลแบบ end-to-end ที่โฮสต์โดย Spark


ผู้จำหน่าย Hadoop รายใหญ่ทั้งหมดเริ่มสนับสนุน Spark ควบคู่ไปกับผลิตภัณฑ์ที่มีอยู่ องค์กรที่เน้นเว็บ เช่น Baidu, ธุรกิจอีคอมเมิร์ซ Alibaba Taobao และบริษัทโซเชียลเน็ตเวิร์ก Tencent ต่างก็ใช้การดำเนินการแบบ Spark ในปริมาณมาก เพื่อให้คุณเห็นมุมมองของพลังของ Apache Spark Tencent มีผู้ใช้ที่ใช้งานอยู่ 800 ล้านคนซึ่งสร้างข้อมูลมากกว่า 800 TB ต่อวันสำหรับการประมวลผล

นอกจากบริษัทยักษ์ใหญ่บนเว็บเหล่านี้แล้ว บริษัทยาอย่างโนวาร์ทิสยังพึ่งพา Spark อีกด้วย การใช้ Spark Streaming ช่วยลดเวลาที่ต้องใช้ในการรับข้อมูลการสร้างแบบจำลองไปอยู่ในมือของนักวิจัย
คู่มือการโบกรถเพื่อ MapReduceอะไรที่ทำให้ Spark แตกต่าง?
มาดูเหตุผลสำคัญว่าทำไม Apache Spark จึงเป็นที่ชื่นชอบของนักวิทยาศาสตร์ข้อมูลอย่างรวดเร็ว:
- ความยืดหยุ่นและ การเข้าถึง: ด้วยชุด API ที่หลากหลาย Spark ได้ทำให้มั่นใจได้ว่าความสามารถทั้งหมดของมันสามารถเข้าถึงได้อย่างไม่น่าเชื่อ API ทั้งหมดเหล่านี้ได้รับการออกแบบมาเพื่อโต้ตอบอย่างรวดเร็วและมีประสิทธิภาพกับข้อมูลตามขนาด ทำให้ Apache Spark มีความยืดหยุ่นสูง มีเอกสารประกอบอย่างละเอียดสำหรับ API เหล่านี้ และเขียนในลักษณะที่ชัดเจนและตรงไปตรงมาเป็นพิเศษ
- ความเร็ว: ความเร็วคือสิ่งที่ Spark ออกแบบมาสำหรับ ทั้งในหน่วยความจำหรือบนดิสก์ ทีม Databricks ใช้ Spark ในการท้าทายเกณฑ์มาตรฐาน 100TB ความท้าทายนี้เกี่ยวข้องกับการประมวลผลชุดข้อมูลขนาดใหญ่แต่เป็นแบบคงที่ ทีมงานสามารถประมวลผลข้อมูลขนาด 100TB ที่จัดเก็บไว้ใน SSD ได้ในเวลาเพียง 23 นาทีโดยใช้ Spark ผู้ชนะคนก่อนทำได้ใน 72 นาทีโดยใช้ Hadoop สิ่งที่ดียิ่งกว่าคือ Spark ทำงานได้ดีเมื่อรองรับการสืบค้นข้อมูลแบบโต้ตอบที่จัดเก็บไว้ในหน่วยความจำ ในสถานการณ์เหล่านี้ Apache Spark อ้างว่าเร็วกว่า MapR ถึง 100 เท่า
- การสนับสนุน: เช่นเดียวกับที่เรากล่าวไว้ก่อนหน้านี้ Apache Spark รองรับภาษาการเขียนโปรแกรมที่มีชื่อเสียงส่วนใหญ่ เช่น Java, Python, Scala และ R. Spark ยังรวมการสนับสนุนสำหรับการผสานรวมอย่างแน่นหนากับระบบจัดเก็บข้อมูลจำนวนหนึ่ง ยกเว้นเฉพาะ HDFS นอกจากนี้ ชุมชนที่อยู่เบื้องหลัง Apache Spark นั้นมีขนาดใหญ่ กระตือรือร้น และเป็นสากล
บทสรุป
ด้วยเหตุนี้เราจึงมาถึงจุดสิ้นสุดของโพสต์บล็อกนี้ เราหวังว่าคุณจะสนุกกับการดูรายละเอียดของ Apache Spark หากข้อมูลจำนวนมากทำให้อะดรีนาลีนของคุณพุ่งพล่าน เราขอแนะนำให้คุณลงมือทำ Apache Spark และทำให้ตัวเองเป็นสินทรัพย์!
หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับ Big Data โปรดดูที่ PG Diploma in Software Development Specialization in Big Data program ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีกรณีศึกษาและโครงการมากกว่า 7 กรณี ครอบคลุมภาษาและเครื่องมือในการเขียนโปรแกรม 14 รายการ เวิร์กช็อป ความช่วยเหลือด้านการเรียนรู้และจัดหางานอย่างเข้มงวดมากกว่า 400 ชั่วโมงกับบริษัทชั้นนำ
เรียนรู้ หลักสูตรการพัฒนาซอฟต์แวร์ ออนไลน์จากมหาวิทยาลัยชั้นนำของโลก รับโปรแกรม PG สำหรับผู้บริหาร โปรแกรมประกาศนียบัตรขั้นสูง หรือโปรแกรมปริญญาโท เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว