คำถามติดแท็ก stream-processing

5
คำนวณความเร็วเฉลี่ยของถนน [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิด3 วันที่ผ่านมา ฉันไปสัมภาษณ์วิศวกรข้อมูล ผู้สัมภาษณ์ถามคำถามฉัน เขาให้สถานการณ์ฉันและขอให้ฉันออกแบบการไหลของข้อมูลสำหรับระบบนั้น ฉันแก้ไขมันได้ แต่เขาไม่ชอบวิธีแก้ปัญหาของฉันและฉันล้มเหลว ฉันอยากจะรู้ว่าถ้าคุณมีความคิดที่ดีกว่าวิธีการแก้ปัญหาที่ท้าทาย คำถามคือ: ระบบของเราได้รับข้อมูลสี่สตรีม ข้อมูลมีรหัสยานพาหนะความเร็วและการประสานตำแหน่งทางภูมิศาสตร์ ทุก vihicle ส่งข้อมูลของมันหนึ่งครั้งต่อนาที ไม่มีการเชื่อมต่อระหว่างสตรีมที่เฉพาะเจาะจงกับถนนหรือถนนหรือสิ่งอื่นใด มีฟังก์ชั่นที่ยอมรับการเรียงลำดับและส่งคืนชื่อส่วนถนน เราจำเป็นต้องรู้ความเร็วของการละควาต่อส่วนถนนต่อ 5 นาที ในที่สุดเราต้องการเขียนผลลัพธ์ไปยังคาฟคา ดังนั้นทางออกของฉันคือ: ขั้นแรกให้เขียนข้อมูลทั้งหมดลงในคลัสเตอร์คาฟคาลงในหัวข้อเดียวโดยแบ่งเป็นละติจูดแรก 5-6 หลักของละติจูดที่ต่อกันกับละติจูดแรก 5-6 หลัก จากนั้นอ่านข้อมูลโดยการสตรีมมิ่งแบบมีโครงสร้างเพิ่มชื่อแถวส่วนถนนโดยการเรียงลำดับ (มี udf ที่กำหนดไว้ล่วงหน้าสำหรับแต่ละแถว) จากนั้นทำการจัดเรียงข้อมูลตามชื่อส่วนถนน เนื่องจากฉันแบ่งพาร์ติชันข้อมูลในคาฟคาโดยการเรียงตัวที่ 5-6 หลักหลังจากแปลการเรียงลำดับเป็นชื่อส่วนแล้วไม่จำเป็นต้องถ่ายโอนข้อมูลจำนวนมากไปยังพาร์ติชันที่ถูกต้องและดังนั้นฉันจึงสามารถใช้ประโยชน์จากการดำเนินการ colesce () ที่ไม่ก่อให้เกิดการสลับแบบเต็ม จากนั้นคำนวณความเร็วเฉลี่ยต่อผู้ปฏิบัติการ กระบวนการทั้งหมดจะเกิดขึ้นทุก 5 นาทีและเราจะเขียนข้อมูลในโหมดผนวกไปยังอ่างล้างจานคาฟคาสุดท้าย ดังนั้นอีกครั้งผู้สัมภาษณ์ไม่ชอบวิธีแก้ไขของฉัน ใครช่วยแนะนำวิธีการปรับปรุงหรือความคิดที่แตกต่างอย่างสมบูรณ์และดีกว่า?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.