เมื่อเราถามครั้งล่าสุดว่า "มันคืออะไรกันแน่???" เรากำลังดูแพลตฟอร์มสตรีมมิ่งข้อมูลที่เข้ากันได้กับโปรโตคอล __ Apache Kafka __®
Flink ได้รับการยอมรับให้เป็นโครงการ Apache ในเดือนธันวาคม 2014 ดังนั้นจึงมีมาสักระยะแล้ว การเติบโตของการประมวลผลแบบสตรีมทำให้มีผู้สนใจและใช้งานเพิ่มมากขึ้นในช่วงไม่กี่ปีที่ผ่านมา Flink เป็นระบบที่ค่อนข้างท้าทายในการสร้างและใช้งานภายในองค์กร ซึ่งต้องใช้บุคลากรด้านวิศวกรรมที่ทุ่มเท แม้แต่
ฉันจะยืมมาจากเว็บเพจ Apache Flink ที่นี่ Apache Flink เป็นเฟรมเวิร์กและกลไกการประมวลผลแบบกระจายสำหรับการคำนวณแบบมีสถานะบนสตรีมข้อมูลที่ไม่มีขอบเขตและมีขอบเขต Flink ได้รับการออกแบบมาให้ทำงานในสภาพแวดล้อมคลัสเตอร์ทั่วไปและดำเนินการคำนวณด้วยความเร็วในหน่วยความจำและในทุกระดับ ฉันไม่ต้องการทำซ้ำสิ่งที่อยู่ในเว็บไซต์ของพวกเขามากเกินไป ดังนั้นหากคุณไม่แน่ใจเกี่ยวกับ Flink ให้ลองดู
โดยพื้นฐานแล้ว DeltaStream ช่วยให้คุณใช้ Flink ได้โดยไม่ต้องยุ่งเกี่ยวกับ Flink เลย สำหรับการทดสอบของฉัน ฉันใช้
เมื่อคุณสมัครใช้งาน คุณจะได้รับสิทธิ์ทดลองใช้ฟรี 14 วัน คลัสเตอร์ Kafka ตัวอย่างที่เรียกว่า “trial_store” ถูกสร้างขึ้นเพื่อให้คุณใช้แทนข้อมูลของคุณเองเพื่อทดลองใช้งาน ตัวอย่างประกอบด้วยหัวข้อต่างๆ มากมายให้เลือกใช้ ไอคอนภายใต้ ACTIONS ช่วยให้คุณสามารถลบหัวข้อหรือดูรายละเอียดและเนื้อหาเกี่ยวกับหัวข้อนั้นได้
ต่อไปนี้เป็นรายละเอียดของหัวข้อ การดูหน้า เพื่อใช้ในการอ้างอิงซึ่งเราจะใช้ในภายหลัง
โอเค เรามีคลัสเตอร์ Kafka และหัวข้อต่างๆ อยู่ในนั้นแล้ว ตอนนี้มาทำสิ่งที่น่าสนใจกันดีกว่า ตามที่กล่าวไว้ในบทนำ สิ่งที่น่าสนใจที่สุดที่ฉันทำได้คือเพิ่มหรือกรองข้อมูลในขณะที่ข้อมูลกำลังดำเนินการอยู่ก่อนที่จะลงจอดที่จุดหมายปลายทางสุดท้าย เช่น ฐานข้อมูล/คลังสินค้า/ทะเลสาบ สำหรับจุดประสงค์ดังกล่าว เราจะไปที่พื้นที่ทำงาน
ส่วนนี้ต้องใช้เวลาในการทำความคุ้นเคยเล็กน้อย ฐานข้อมูลและโครงร่างใน DeltaStream เป็นเพียงโฟลเดอร์จัดระเบียบ คุณสามารถสร้างฐานข้อมูลได้ 'n' รายการ และภายในฐานข้อมูล คุณสามารถมีโครงร่างได้ 'n' รายการ โครงร่างจะเก็บเค้าโครงคำจำกัดความของวัตถุ DeltaStream ของคุณ ซึ่งเรียกว่า STREAM, CHANGELOG, MATERIALIZED VIEW และ TABLE ตารางเกี่ยวข้องกับตารางฐานข้อมูลในโปรแกรมบางอย่าง เช่น PostgreSQL และ Materialized View เป็นวิธีในการคงข้อมูลไว้ในชุดผลลัพธ์โดยไม่ต้องใส่ข้อมูลไว้ที่ไหนสักแห่งโดยเฉพาะ ฉันจะไม่ทำอะไรกับสิ่งเหล่านี้ในบล็อกนี้ ฉันจะเน้นที่ Stream และ Changelog
ฉันกำลังสร้างสตรีมของหัวข้อ การดูเพจ ในคลัสเตอร์ Kafka ในภาพหน้าจอต่อไปนี้ ฉันคิดว่ามันเป็นการสร้างตารางคำจำกัดความของหัวข้อ เราได้กำหนดชื่อของฟิลด์และบอกพวกเขาว่าจะใช้หัวข้อใดและรูปแบบข้อมูลคืออะไร เราไม่จำเป็นต้องระบุเหตุผลคลัสเตอร์ trial_store อย่างสมบูรณ์ เนื่องจากมันถูกตั้งค่าเป็นค่าเริ่มต้นในกล่องรวมที่ด้านบน เมื่อดำเนินการคำสั่งนั้นแล้ว คำสั่งนั้นจะปรากฏขึ้นภายใต้ TestDB.public จากนั้นฉันสามารถค้นหาโดยใช้คำสั่งเช่น SELECT * FROM PAGEVIEWS และฉันจะเริ่มเห็นข้อมูลในบานหน้าต่างผลลัพธ์ที่ด้านล่าง
จากนั้น ฉันจะประกาศบันทึกการเปลี่ยนแปลงที่ได้รับการสนับสนุนโดยหัวข้อ ของผู้ใช้ และจัดลำดับตาม ID ผู้ใช้ บันทึกการเปลี่ยนแปลงนั้นคล้ายกับสตรีม แต่ช่วยให้คุณตีความเหตุการณ์ในหัวข้อเป็นเหตุการณ์ UPSERT ได้ เหตุการณ์จำเป็นต้องใช้คีย์หลัก DeltaStream จะตีความเหตุการณ์แต่ละเหตุการณ์เป็นการแทรกหรือการอัปเดตสำหรับคีย์หลักที่กำหนด ในกรณีนี้ บันทึกการเปลี่ยนแปลงจะสะท้อนรายละเอียดเฉพาะตามผู้ใช้ เช่น เพศและความสนใจ
นี่คือจุดที่เราเริ่มสนุกกัน ฉันจะสร้างสตรีมใหม่ที่เพิ่มข้อมูล การเข้าชมเพจ ด้วยข้อมูลจากบันทึกการเปลี่ยนแปลงของ users_log โดยใช้ userid เป็นค่าคีย์ในการเข้าร่วม ซึ่งตอนนี้ฉันจะได้หัวข้อเฉพาะในคลัสเตอร์ที่มีข้อมูลจากสองหัวข้อที่แตกต่างกัน จากตรงนี้ ฉันสามารถกรองหัวข้อโดยใช้บางอย่างเช่น regionid และเขียนผลลัพธ์ของการค้นหานั้นไปยังปลายทางสุดท้าย เช่น ฐานข้อมูล คลังสินค้า หรือทะเลสาบ วิธีนี้ทำให้ฉันสามารถเพิ่มข้อมูลและกรองข้อมูลระหว่างดำเนินการได้ก่อนจะลงจอด จึงช่วยลดเวลาแฝงและลดต้นทุนการประมวลผลและการจัดเก็บ
DeltaStream คืออะไรกันแน่? เป็นวิธีง่ายๆ ในการใช้ Apache Flink โดยที่ไม่ต้องรู้เรื่องนี้หรือทำอะไรกับมันโดยตรง จากตัวอย่างของฉัน คุณจะเห็นได้ว่าการเชื่อมต่อกับ Apache Kafka จากนั้นอ่าน เข้าร่วม และกรองข้อมูลนั้นทำได้ง่ายเพียงใด การเชื่อมต่ออื่นๆ ที่รองรับในปัจจุบัน ได้แก่ Kinesis, PostgreSQL, Snowflake และ Databricks และฉันได้ยินมาว่า ClickHouse และ Iceberg จะพร้อมใช้งานเร็วๆ นี้
ในที่สุด DeltaStream มอบพลังของ Apache Flink ให้กับคุณโดยที่ไม่ต้องยุ่งเกี่ยวกับ Apache Flink และคุณสามารถทำได้โดยใช้ SQL แทน Java หากคุณกำลังจัดการกับข้อมูลแบบสตรีมหรือกำลังมองหาวิธีใช้งาน นี่คือโซลูชันที่ชาญฉลาดและสะดวกสบายอย่างยิ่ง
ลองดูบทความ What the Heck is… อื่นๆ ของฉันที่ลิงค์ด้านล่าง:
-