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 Data Catalog และ Auto Scaling เพื่อเพิ่มหรือลบอินสแตนซ์จากคลัสเตอร์ของคุณ AWS Lake Formation มีการควบคุมสิทธิ์การเข้าถึงอย่างละเอียด ในขณะที่เมื่อใช้ร่วมกับ AWS Step Functions จะช่วยในการจัดการไปป์ไลน์ข้อมูลของคุณ EMR Notebooks ช่วยให้คุณทดลองและสร้างแอปพลิเคชันด้วย Spark ได้อย่างง่ายดาย ถ้าคุณต้องการ คุณสามารถใช้ Apache Zeppelin ในการสร้างโน้ตบุ๊คเชิงโต้ตอบแบบทำงานร่วมกันสำหรับการสำรวจข้อมูลโดยใช้ Spark
เรียนรู้เพิ่มเติมเกี่ยวกับ Apache Spark ที่นี่
คุณสมบัติและประโยชน์
ประสิทธิภาพการทำงานที่รวดเร็ว
EMR มีสภาพแวดล้อมรันไทม์ที่มีประสิทธิภาพเหมาะสมที่สุดสำหรับ Apache Spark ที่เปิดใช้งานโดยใช้ค่าเริ่มต้น รันไทม์ EMR สำหรับ Spark เร็วกว่า 3 เท่า และมี 100% API ที่สามารถใช้งานร่วมกับ Spark มาตรฐานได้ ประสิทธิภาพที่ดีขึ้นนี้ช่วยให้ปริมาณงานของคุณรันได้เร็วขึ้น และประหยัดค่าใช้จ่ายโดยที่แอปพลิเคชันของคุณไม่ต้องมีการเปลี่ยนแปลงใดๆ
Spark สามารถสร้างแผนการสืบค้นที่มีประสิทธิภาพสำหรับการแปลงข้อมูลได้โดยใช้โปรแกรมดำเนินการแบบ Directed Acyclic Graph (DAG) นอกจากนั้น Spark ยังจัดเก็บอินพุต เอาต์พุต และข้อมูลระดับกลางในหน่วยความจำเป็นดาต้าเฟรมที่ยืดหยุ่น ซึ่งช่วยให้มีการประมวลผลที่รวดเร็วโดยไม่มีค่าบริการ I/O, การเพิ่มประสิทธิภาพของปริมาณงานซ้ำหรือแบบโต้ตอบ
พัฒนาแอปพลิเคชันแบบทำงานร่วมกันได้อย่างรวดเร็ว
Apache Spark รองรับ Java, Scala, SQL และ Python ซึ่งช่วยให้คุณมีรูปแบบภาษาต่างๆ มากมายสำหรับสรรค์สร้างแอปพลิเคชัน อีกทั้งคุณยังสามารถส่งการสืบค้น SQL หรือ HiveQL ได้โดยใช้โมดูล Spark SQL นอกจากการเรียกใช้แอปพลิเคชันแล้ว คุณยังสามารถใช้ Spark API โต้ตอบกับ Python หรือ Scala ได้โดยตรงในเชลล์ Spark หรือผ่านโน้ตบุ๊ค Jupyter บนคลัสเตอร์ของคุณ การสนับสนุนสำหรับ Apache Hadoop 3.0 ใน EMR 6.0 ช่วยให้มีการสนับสนุนคอนเทนเนอร์ Docker เพื่อลดความซับซ้อนในการจัดการความเชื่อมโยงกัน คุณสามารถใช้ประโยชน์จาก EMR Notebooks ที่เป็นอิสระจากคลัสเตอร์ (อิงตาม Jupyter) หรือใช้ Zeppelin ในการสร้างโน้ตบุ๊คเชิงโต้ตอบแบบทำงานร่วมกันสำหรับการสำรวจข้อมูลและการแสดงข้อมูลด้วยภาพได้อีกด้วย คุณสามารถปรับและแก้ไขจุดบกพร่องของปริมาณงานใน EMR Console ที่มีเซิร์ฟเวอร์ประวัติ Spark อย่างต่อเนื่องแบบไม่มีคลัสเตอร์
สร้างเวิร์กโฟลว์ที่หลากหลาย
Apache Spark ประกอบด้วยไลบรารีต่างๆ มากมายเพื่อช่วยสร้างแอปพลิเคชันสำหรับแมชชีนเลิร์นนิ่ง (MLlib), การประมวลผลสตรีม (Spark Streaming) และการประมวลผลกราฟ (GraphX) ไลบรารีเหล่านี้ผสานรวมกันอย่างใกล้ชิดในระบบนิเวศของ Spark และสามารถนำไปใช้ได้ทันทีเพื่อรับมือกับกรณีใช้งานแบบต่างๆ นอกจากนั้น คุณสามารถใช้เฟรมเวิร์กการเรียนรู้เชิงลึก เช่น Apache MXNet กับแอปพลิเคชัน Spark ของคุณได้ การผสานรวมกับ AWS Step Functions ช่วยให้คุณเพิ่มระบบอัตโนมัติและการจัดการเวิร์กโฟลว์แบบไร้เซิร์ฟเวอร์ให้แอปพลิเคชันของคุณได้
การผสานการทำงานกับชุดคุณสมบัติ Amazon EMR
ส่งงาน Apache Spark ด้วย EMR Step API, ใช้ Spark พร้อมกับ EMRFS เพื่อเข้าถึงข้อมูลโดยตรงใน S3, ประหยัดต้นทุนโดยใช้ความจุ EC2 Spot, ใช้ Auto Scaling ที่มีการจัดการเต็มรูปแบบเพื่อเพิ่มและลบความจุแบบไดนามิก และเปิดใช้คลัสเตอร์แบบยาวนานหรือแบบชั่วคราวเพื่อให้เหมาะสมกับปริมาณงานของคุณ นอกจากนั้น คุณสามารถกำหนดค่าการเข้ารหัส Spark และการรับรองความถูกต้องด้วย Kerberos โดยใช้ การกำหนดค่าการรักษาความปลอดภัยของ EMR และคุณยังสามารถใช้ AWS Glue Data Catalog เพื่อจัดเก็บข้อมูลเมตาแบบตารางของ 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 มีประสิทธิภาพการทำงานที่ยอดเยี่ยมสำหรับการสืบค้นซ้ำที่พบบ่อยในปริมาณงานแมชชีนเลิร์นนิ่ง
SQL แบบอินเทอร์แอคทีฟ
ใช้ Spark SQL สำหรับการสืบค้นเชิงโต้ตอบที่มีเวลาแฝงต่ำด้วย SQL หรือ HiveQL Spark บน EMR สามารถใช้ EMRFS ได้ ดังนั้นคุณจึงสามารถเข้าถึงชุดข้อมูลเฉพาะใน S3 ได้ นอกจากนั้น คุณยังสามารถใช้ EMR Notebooks, โน้ตบุ๊ค Zeppelin หรือเครื่องมือ BI ผ่านการเชื่อมต่อ ODBC และ JDBC ได้อีกด้วย
ความสำเร็จของลูกค้า

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

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

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