Spark 2.0 มีเป้าหมายที่จะทำให้การสตรีมเป็นพลเมืองชั้นหนึ่ง

  • Sep 26, 2023

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

Spark ได้สร้างความตื่นเต้นอย่างมากในชุมชนข้อมูลขนาดใหญ่ เป็นแนวทางในการสร้างความเร็วหรือชั้นความเร็วของความเป็นจริงของข้อมูลขนาดใหญ่ ทำให้ gotchas บางส่วนของ MapReduce ง่ายขึ้นและขยายจานสีของการคำนวณไปไกลกว่า MapReduce และทำทั้งหมดนี้ผ่านชุดอินเทอร์เฟซทั่วไป แต่ยังคงมีปัญหาเกี่ยวกับการจัดการหน่วยความจำ การประสานงานกับ YARN และการตั้งค่าระดับการเล่นกับนักพัฒนา R และ Python ด้วยการเปิดตัวใหม่ Spark ทำให้ไฟล์ สถาปัตยกรรมแลมบ์ดาเพิ่มการปรับแต่งบางอย่างสำหรับการใช้ R และปรับปรุงประสิทธิภาพ ใช่ สปาร์คกำลังเข้าสู่วัยแรกรุ่น

Spark 2.0 ซึ่งประกาศเมื่อสัปดาห์ที่แล้วหลังจากการดูตัวอย่างเทคโนโลยีสองสามเดือนทำให้เกิดความประหลาดใจเล็กน้อย แต่จุดเด่นคือสิ่งใหม่ การสตรีมแบบมีโครงสร้าง

API ที่นำการสืบค้น SQL แบบโต้ตอบมาสู่ไลบรารี Spark Streaming แบบเรียลไทม์ นอกจากนี้ยังเชื่อมโยง Spark Streaming อย่างใกล้ชิดกับส่วนที่เหลือของ Spark โดยการผสานรวมกับ Spark ที่กำลังจะถูกแทนที่ในไม่ช้า MLlib.

ในการทำเช่นนั้น Structured Streaming สามารถทำลายอุปสรรคระหว่างการประมวลผลแบบเรียลไทม์และการประมวลผลเป็นชุดได้ นี่คืออะไร ดาต้าบริคส์ เงื่อนไข การใช้งานอย่างต่อเนื่องโดยที่การประมวลผลแบบเรียลไทม์ใช้เพื่ออัปเดตตารางที่กำลังสอบถามอย่างต่อเนื่อง หรือเพิ่มส่วนขยายแบบเรียลไทม์ให้กับงานแบทช์ ส่งผลให้ด้วย API เดียว การสตรีมแบบมีโครงสร้างจะทำให้สถาปัตยกรรม Lambda แบนราบลง ซึ่งแต่เดิมสร้างขึ้นบนสมมติฐานที่ว่าการประมวลผลแบบแบตช์และแบบเรียลไทม์จะต้องแยกจากกัน การสนับสนุนดั้งเดิมของ Spark ที่มีต่อ Lambda คือคุณสามารถใช้ API เดียวกันสำหรับแบทช์และ "เลเยอร์" คำนวณ "ความเร็ว" (เรียลไทม์) ได้; ด้วย Structured Streaming คุณสามารถรวมเข้าด้วยกันได้ในกระบวนการเดียวกัน ไม่ใช่ว่าไม่เคยทำสิ่งนี้มาก่อน แต่ก่อนหน้านี้ คุณต้องมีกรรมสิทธิ์ การประมวลผลเหตุการณ์ที่ซับซ้อน (CEP) เครื่องยนต์ดึงออกมาได้

ดูสิ่งนี้ด้วย

Hadoop และ Spark: เรื่องราวของสองเมือง

เป็นเรื่องง่ายที่จะตื่นเต้นกับความเพ้อฝันเกี่ยวกับสิ่งใหม่ๆ ที่เป็นประกาย แต่มาอธิบายกันตรงๆ กันดีกว่า: Spark จะไม่มาแทนที่ Hadoop

อ่านตอนนี้

แม้ว่าจะไม่ได้เป็นส่วนหนึ่งของเวอร์ชัน 2.0 แต่เราเชื่อว่าการสตรีมแบบมีโครงสร้างเป็นก้าวแรกในการเพิ่มความเป็นจริงด้วย การสตรีม (ความสามารถในการประมวลผลเหตุการณ์เดียวในแต่ละครั้ง) ไปยัง Spark Streaming (ซึ่งปัจจุบันใช้งานได้เท่านั้น ไมโครแบทช์) ในฐานะ API ระดับที่สูงกว่า API จะสรุปตรรกะจากกลไกการประมวลผลพื้นฐาน ซึ่งให้ความยืดหยุ่นในการเปลี่ยนแปลงหรือเปลี่ยนแปลงสถาปัตยกรรมของกลไกนั้น คอยติดตาม.

ในขณะที่ Structured Streaming จะเพิ่ม API ใหม่ แต่การบรรจบกันของ ดาต้าเฟรม และ ชุดข้อมูล จะลดความยุ่งเหยิงของ API ใน 2.0 DataFrames มีลวดลายตามโครงสร้างที่คล้ายกันสำหรับโปรแกรมเมอร์ R และ Python และอนุญาตให้จัดการข้อมูลได้เหมือนฐานข้อมูล ในทางกลับกัน ชุดข้อมูลจะขยาย API เดียวกันนั้นไปยังข้อมูลที่แสดงเป็นออบเจ็กต์ Java เนื่องจากทั้งสองเขียนจาก API เดียวกัน จึงสมเหตุสมผลกับ Spark 2.0 ที่จะรวมเข้าด้วยกัน โดยให้ API เดียวที่มีตัวเลือกของใบหน้าแบบตารางหรือวัตถุ แม้ว่าโครงสร้าง RDD ดั้งเดิมของ Spark ยังคงมีประสิทธิภาพเหนือกว่าชุดข้อมูล แต่ก็มีข้อสงสัยเล็กน้อยว่าโครงการ Spark จะดำเนินการปรับแต่งชุดข้อมูลต่อไปเพื่อลดช่องว่างให้แคบลง

และด้วยการก้าวขึ้นมาของชุดข้อมูล จะเป็นวิธีการที่เรียบง่ายในการสร้างโปรแกรมแมชชีนเลิร์นนิง (ML) สปาร์ค. มล. ไลบรารีใหม่มีเทมเพลตสำหรับสร้างและนำเสนอโปรแกรม ML ในรูปแบบไปป์ไลน์แบบหลายขั้นตอน ดังนั้นนักพัฒนาจึงไม่จำเป็นต้องเขียนโค้ดด้วยตนเอง และไปป์ไลน์ ML เหล่านี้สามารถบันทึกและโหลดเพื่อนำกลับมาใช้ใหม่ได้ เมื่อเวลาผ่านไป สปาร์ค ML จะแทนที่ MLlib เป็น ML API หลักของ Spark สำหรับรุ่นนี้ Spark ได้เพิ่มการสนับสนุนสำหรับการเรียกใช้ฟังก์ชันที่ผู้ใช้กำหนดและอัลกอริธึมแบบกระจาย (เช่น โมเดลเชิงเส้นทั่วไป) ใน R

เนื่องจาก Spark เป็นที่รู้จักดีที่สุดในเรื่องความเหมาะสมในการดำเนินโปรแกรมการเรียนรู้ของเครื่อง จึงไม่น่าแปลกใจที่ ML จะกลายเป็นจุดสำคัญสำหรับการแข่งขัน ตัวอย่างเช่น และ หลาม มีแพ็คเกจแมชชีนเลิร์นนิงของตัวเองที่ทำงานกับภาษาเหล่านั้นได้ และคนที่ก็เช่นกัน น้ำซึ่งอ้างว่ามีอัลกอริธึมที่มีประสิทธิภาพมากกว่า จากนั้นก็มี Google TensoFlow ซึ่งตอนนี้มุ่งเน้นไปที่ปัญหา ML การเรียนรู้เชิงลึก และใช่ มีวิธีรันบน Spark.

Spark 2.0 ยังแสดงตัวอย่างเทคโนโลยีเกิดใหม่อีกด้วย ได้แก่ ทังสเตนซึ่งเป็นโปรเจ็กต์สำหรับการแทนที่ JVM อายุ 20 ปีด้วยคอมไพเลอร์ที่สัญญาว่าจะปรับแต่งประสิทธิภาพ แนวความคิดที่เป็นแนวทางก็คือในขณะที่ Spark data artifacts - RDD และชุดข้อมูลที่รวมกัน - เร่งการเข้าถึงข้อมูล JVM (ที่มีค่าใช้จ่ายสำหรับการรวบรวมขยะ) คอขวดในการคำนวณ ใน Spark 2.0 ทังสเตนได้รับการสนับสนุนสำหรับการดำเนินการแคชและรันไทม์

ดังนั้น Spark 2.0 จึงปรับแต่งคุณสมบัติบางอย่างที่มีอยู่และเปิดทิศทางใหม่ที่แตกต่างจากจุดกำเนิดพร้อมกับคุณสมบัติอื่น ๆ นอกเหนือจากชุดข้อมูลที่ขยายซึ่งสร้างจาก API ที่มีอยู่แล้ว คุณสมบัติใหม่ส่วนใหญ่ เช่น Structured Streaming และ Spark ML ยังคงเป็นเทคโนโลยีระดับอัลฟ่า ดังนั้นเราจึงคาดว่าจะมีการเปลี่ยนแปลงก่อนที่จะเริ่มเข้าสู่การผลิตภายในเวลาประมาณหกถึง 12 เดือน เครื่องยนต์ Spark มีการใช้งานเพิ่มมากขึ้น แต่ยังมีการแข่งขันกันเพื่อให้ได้ทางลาดดังกล่าว ไมโครซอฟต์, การวิเคราะห์ต่อเนื่อง, และ น้ำ เสนอทางลาดของตัวเองให้กับ R เพื่อรักษาทางเลือกในการทิ้งเครื่องยนต์ใหม่ บางทีอาจจะเซ็กซี่กว่านี้สักวันหนึ่ง

ดูสิ่งนี้ด้วย

ปัญหาที่ใหญ่ที่สุดของ Big Data: มันยากเกินไปที่จะดึงข้อมูลเข้ามา

แม้ว่าข้อมูลขนาดใหญ่จะกลายเป็นศัพท์ทางการตลาดมากกว่าเทคโนโลยี แต่ก็ยังมีศักยภาพมหาศาลที่ยังไม่ได้นำไปใช้ แต่ปัญหาใหญ่ประการหนึ่งต้องได้รับการแก้ไขก่อน

อ่านตอนนี้