Apache Spark บน Amazon EMR

เหตุใดต้องใช้ Apache Spark บน EMR

Amazon EMR คือที่ที่ดีที่สุดในการเรียกใช้ Apache Spark คุณสามารถสร้างคลัสเตอร์ Spark ที่มีการจัดการได้อย่างง่ายดายและรวดเร็วจาก AWS Management Console, AWS CLI หรือ Amazon EMR API นอกจากนี้ คุณยังสามารถใช้ประโยชน์จากฟีเจอร์ต่าง ๆ ของ Amazon EMR ซึ่งรวมถึงการเชื่อมต่อกับ Amazon S3 ที่รวดเร็วโดยใช้ Amazon EMR File System (EMRFS), การผสานรวมกับตลาด Amazon EC2 Spot และแค็ตตาล็อกข้อมูลของ AWS Glue และ EMR Managed Scaling เพื่อเพิ่มหรือลบอินสแตนซ์ออกจากคลัสเตอร์ของคุณ AWS Lake Formation มีการควบคุมสิทธิ์การเข้าถึงอย่างละเอียด ในขณะที่การผสานรวมกับ AWS Step Functions จะช่วยในการจัดการไปป์ไลน์ข้อมูล EMR Studio (การแสดงตัวอย่าง) คือสภาพแวดล้อมการพัฒนาแบบผสานรวม (IDE) ที่ช่วยอำนวยความสะดวกให้กับนักวิทยาศาสตร์ข้อมูลและวิศวกรข้อมูลในการพัฒนา แสดงภาพ และแก้จุดบกพร่องของแอปพลิเคชันด้านวิศวกรรมข้อมูลและวิทยาศาสตร์ข้อมูลที่เขียนด้วยภาษา R, Python, Scala และ PySpark EMR Studio ให้บริการ Jupyter Notebooks ที่มีการจัดการเต็มรูปแบบ รวมถึงเครื่องมือต่างๆ อย่าง Spark UI และ YARN Timeline Service เพื่อลดความซับซ้อนในการแก้จุดบกพร่อง EMR Notebooks ช่วยให้คุณทดลองและสร้างแอปพลิเคชันด้วย Spark ได้อย่างง่ายดาย หากต้องการ คุณสามารถใช้ Apache Zeppelin ในการสร้างโน้ตบุ๊กเชิงโต้ตอบแบบทำงานร่วมกันสำหรับการสำรวจข้อมูลโดยใช้ Spark

เรียนรู้เพิ่มเติมเกี่ยวกับ Apache Spark ที่นี่

คุณสมบัติและประโยชน์

EMR มีรันไทม์ของ Amazon EMR สำหรับ Amazon EMR ซึ่งเป็นสภาพแวดล้อมรันไทม์ที่ปรับประสิทธิภาพให้เหมาะสำหรับ Apache Spark มากที่สุด โดยมีการเปิดใช้งานไว้เป็นค่าเริ่มต้นบนคลัสเตอร์ Amazon EMR รันไทม์ Amazon EMR สำหรับ Apache Spark สามารถทำงานได้เร็วกว่าคลัสเตอร์ที่ไม่มีรันไทม์ EMR ถึง 3 เท่า และมี API ที่สามารถใช้กับ Apache Spark มาตรฐานได้ 100% ประสิทธิภาพที่ดีขึ้นนี้ช่วยให้ปริมาณงานของคุณรันได้เร็วขึ้น ทั้งยังประหยัดค่าใช้จ่ายในการประมวลผลโดยที่ไม่ต้องทำการเปลี่ยนแปลงใดๆ กับแอปพลิเคชันของคุณ

Spark สามารถสร้างแผนการสืบค้นที่มีประสิทธิภาพสำหรับการแปลงข้อมูลได้โดยใช้โปรแกรมดำเนินการแบบ Directed Acyclic Graph (DAG) นอกจากนั้น Spark ยังจัดเก็บอินพุต เอาต์พุต และข้อมูลระดับกลางในหน่วยความจำเป็นดาต้าเฟรมที่ยืดหยุ่น ซึ่งช่วยให้มีการประมวลผลที่รวดเร็วโดยไม่มีค่าบริการ I/O, การเพิ่มประสิทธิภาพของปริมาณงานซ้ำหรือแบบโต้ตอบ

Apache Spark รองรับ Java, Scala, SQL และ Python ซึ่งช่วยให้คุณมีรูปแบบภาษาต่างๆ มากมายสำหรับสรรค์สร้างแอปพลิเคชัน อีกทั้งคุณยังสามารถส่งการสืบค้น SQL หรือ HiveQL ได้โดยใช้โมดูล Spark SQL นอกจากการเรียกใช้แอปพลิเคชันแล้ว คุณยังสามารถใช้ Spark API โต้ตอบกับ Python หรือ Scala ได้โดยตรงในเชลล์ Spark หรือผ่าน EMR Studio หรือ Jupyter Notebook บนคลัสเตอร์ของคุณได้อีกด้วย การสนับสนุนสำหรับ Apache Hadoop 3.0 ใน EMR 6.0 ช่วยให้มีการสนับสนุน Docker Container เพื่อลดความซับซ้อนในการจัดการความเชื่อมโยงกัน คุณสามารถใช้ประโยชน์จาก EMR Notebooks ที่เป็นอิสระจากคลัสเตอร์ (อิงตาม Jupyter) หรือใช้ Zeppelin ในการสร้างโน้ตบุ๊กเชิงโต้ตอบแบบทำงานร่วมกันสำหรับการสำรวจข้อมูลและการแสดงข้อมูลด้วยภาพได้อีกด้วย คุณสามารถปรับและแก้ไขจุดบกพร่องของเวิร์กโหลดใน EMR Console ที่มีเซิร์ฟเวอร์ประวัติ Spark อย่างต่อเนื่องแบบไม่มีคลัสเตอร์

Apache Spark ประกอบด้วยไลบรารีต่างๆ มากมายเพื่อช่วยสร้างแอปพลิเคชันสำหรับแมชชีนเลิร์นนิ่ง (MLlib), การประมวลผลสตรีม (Spark Streaming) และการประมวลผลกราฟ (GraphX) ไลบรารีเหล่านี้ผสานรวมกันอย่างใกล้ชิดในระบบนิเวศของ Spark และสามารถนำไปใช้ได้ทันทีเพื่อรับมือกับกรณีใช้งานแบบต่างๆ นอกจากนั้น คุณสามารถใช้เฟรมเวิร์กการเรียนรู้เชิงลึก เช่น Apache MXNet กับแอปพลิเคชัน Spark ของคุณได้ การผสานรวมกับ AWS Step Functions ช่วยให้คุณเพิ่มระบบอัตโนมัติและการควบคุมระบบเวิร์กโฟลว์แบบไม่ต้องใช้เซิร์ฟเวอร์ให้แอปพลิเคชันของคุณได้

ส่งงาน Apache Spark ด้วย EMR Step API, ใช้ Spark พร้อมกับ EMRFS เพื่อเข้าถึงข้อมูลใน S3 โดยตรง, ประหยัดต้นทุนโดยใช้ความจุ EC2 Spot, ใช้ EMR Managed Scaling เพื่อเพิ่มและลบความจุแบบไดนามิก และเปิดใช้คลัสเตอร์แบบยาวนานหรือแบบชั่วคราวเพื่อให้เหมาะสมกับปริมาณงานของคุณ นอกจากนี้ คุณยังสามารถกำหนดค่าการเข้ารหัส Spark และการรับรองความถูกต้องด้วย Kerberos ได้โดยใช้ การกำหนดค่าการรักษาความปลอดภัยของ EMR และคุณยังสามารถใช้แค็ตตาล็อกข้อมูลของ AWS Glue เพื่อจัดเก็บข้อมูลเมตาแบบตารางของ Spark SQL หรือใช้ Amazon SageMaker กับไปป์ไลน์แมชชีนเลิร์นนิง Spark ของคุณได้ด้วย EMR ติดตั้งและจัดการ Spark บน Hadoop YARN และคุณสามารถเพิ่มแอปพลิเคชัน Big Data บนคลัสเตอร์ของคุณได้ EMR ที่มี Apache Hudi ช่วยให้คุณจัดการ Change Data Capture (CDC) ได้อย่างมีประสิทธิภาพมากขึ้น และช่วยในเรื่องของกฎข้อบังคับเรื่องความเป็นส่วนตัว อย่างเช่น GDPR และ CCPA โดยลดความซับซ้อนในการลบบันทึก คลิกที่นี่เพื่อดูรายละเอียดเพิ่มเติมเกี่ยวกับฟีเจอร์ของ EMR

กรณีใช้งาน

ใช้และประมวลผลข้อมูลเรียลไทม์จาก Amazon Kinesis, Apache Kafka หรือสตรีมข้อมูลอื่น ๆ ด้วย Spark Streaming บน EMR ดำเนินการวิเคราะห์การสตรีมด้วยวิธีที่ทนทานต่อความผิดพลาดและเขียนผลลัพธ์ไปยัง S3 หรือ HDFS บนคลัสเตอร์

Apache Spark บน EMR ได้รวม MLlib สำหรับอัลกอริทึมแมชชีนเลิร์นนิ่งที่ปรับขนาดได้แบบต่างๆ เอาไว้หรือคุณสามารถใช้ไลบรารีของคุณเองได้ การจัดเก็บชุดข้อมูลในหน่วยความจำระหว่างงานช่วยให้ Spark มีประสิทธิภาพการทำงานที่ยอดเยี่ยมสำหรับการสืบค้นซ้ำที่พบบ่อยในปริมาณงานแมชชีนเลิร์นนิ่ง คุณสามารถเพิ่มความสามารถของ Amazon SageMaker ได้โดยใช้ Amazon SageMaker Spark เชื่อมต่ออินสแตนซ์โน้ตบุ๊กเข้ากับคลัสเตอร์ Apache Spark ที่รันอยู่บน Amazon EMR เพื่อการฝึกโมเดลและการโฮสต์โมเดลอย่างง่ายดาย

ใช้ Spark SQL สำหรับการสืบค้นเชิงโต้ตอบที่มีเวลาแฝงต่ำด้วย SQL หรือ HiveQL Spark บน EMR สามารถใช้ EMRFS ดังนั้นคุณจึงเข้าถึงชุดข้อมูลใน S3 แบบเฉพาะกิจได้ นอกจากนี้ คุณยังสามารถใช้ EMR Studio, EMR Notebooks, Zeppelin Notebooks หรือเครื่องมือ BI ผ่านการเชื่อมต่อ ODBC และ JDBC ได้อีกด้วย

ความสำเร็จของลูกค้า

  • Yelp

    ทีมกำหนดเป้าหมายโฆษณาของ Yelp สร้างรูปแบบการคาดการณ์ในการกำหนดความเป็นไปได้ของการโต้ตอบกับโฆษณาของผู้ใช้ Yelp มีรายได้เพิ่มขึ้นและมีอัตราการคลิกผ่านในการโฆษณาเพิ่มขึ้นโดยใช้ Apache Spark บน Amazon EMR ในการประมวลผลข้อมูลจำนวนมากเพื่อฝึกรูปแบบแมชชีนเลิร์นนิ่ง

  • The Washington Post

    Washington Post ใช้ Apache Spark บน Amazon EMR ในการสร้างรูปแบบที่ส่งเสริมเอนจิ้นการให้คำแนะนำบนเว็บไซต์เพื่อเพิ่มการมีส่วนร่วมและความพึงพอใจของผู้อ่าน พวกเขาใช้ประโยชน์จากการเชื่อมต่อประสิทธิภาพสูงของ Amazon EMR กับ Amazon S3 เพื่ออัปเดตรูปแบบที่แทบจะเทียบได้กับแบบเรียลไทม์

  • Krux

    เนื่องจากเป็นส่วนหนึ่งของแพลตฟอร์มการจัดการข้อมูลสำหรับข้อมูลเชิงลึกของลูกค้า Krux จึงเปิดใช้งานหลายแมชชีนเลิร์นนิ่งและปริมาณงานการประมวลผลทั่วไปโดยใช้ Apache Spark Krux ใช้คลัสเตอร์ Amazon EMR แบบชั่วคราวกับ Amazon EC2 Spot Capacity เพื่อลดต้นทุน และใช้ Amazon S3 กับ EMRFS เป็นโครงสร้างข้อมูลสำหรับ Apache Spark

    อ่านเพิ่มเติม »
  • GumGum

    GumGum ซึ่งเป็นแพลตฟอร์มการโฆษณาในภาพและในหน้าจอ ใช้ Spark บน Amazon EMR สำหรับการคาดการณ์สินค้าคงคลัง การประมวลผลบันทึกการคลิกสตรีม และการวิเคราะห์เฉพาะข้อมูลไร้โครงสร้างใน Amazon S3 การเพิ่มประสิทธิภาพการทำงานของ Spark ช่วย GumGum ประหยัดเวลาและเงินสำหรับเวิร์คโฟลว์เหล่านี้ได้

    อ่านเพิ่มเติม »
  • Hearst Corporation

    Hearst Corporation เป็นบริษัทสื่อและข้อมูลที่มีขนาดใหญ่ซึ่งมีลูกค้าที่ดูเนื้อหาบนเว็บไซต์กว่า 200 เว็บ ฝ่ายบรรณาธิการของ Hearst สามารถดูข้อมูลได้แบบเรียลไทม์เพื่อให้รู้ว่าบทความและรูปแบบไหนที่ได้รับความนิยม โดยใช้ Apache Spark Streaming บน Amazon EMR

    อ่านเพิ่มเติม »
  • CrowdStrike

    CrowdStrike มีระบบป้องกันปลายทางเพื่อไม่ให้เกิดการละเมิด พวกเขาใช้ Amazon EMR ที่มี Spark ในการประมวลผลข้อมูลเหตุการณ์กว่าร้อยเทราไบต์และรวบรวมลงในคำอธิบายลักษณะการทำงานระดับสูงกว่าบนโฮสต์ จากข้อมูลดังกล่าว CrowdStrike สามารถดึงข้อมูลเหตุการณ์เข้าไว้ด้วยกันและระบุการดำเนินการที่เป็นอันตราย

    อ่านเพิ่มเติม »