3 คะแนน โดย xguru 2020-02-18 | 2 ความคิดเห็น | แชร์ทาง WhatsApp

วิธีที่ Here Mobility สร้าง Database CI/CD สำหรับวิศวกรข้อมูลและนักวิเคราะห์

  • เดิมทีทีมวิเคราะห์จะส่งดาต้าเลกบน S3 ไปยัง RedShift ด้วย PySpark ETL และสคริปต์ SQL สำหรับสิ่งนี้ก็อยู่ในความรับผิดชอบของทีมวิเคราะห์ด้วย

  • โค้ด PySpark ไม่มีปัญหาเพราะดำเนินไปตาม CI/CD ของแอปพลิเคชัน แต่โค้ด SQL สำหรับ RedShift นั้นทดสอบ, ทำเวอร์ชันนิง และติดตามได้ยาก

  • จึงพัฒนาเครื่องมือ CI/CD เฉพาะสำหรับ RedShift ชื่อ redCI ที่รองรับการควบคุมเวอร์ชัน, การตรวจสอบโค้ด, การผนวกรวมเข้ากับ Jenkins pipeline และการดีพลอยไปยัง RedShift แบบอัตโนมัติ

  • redCI - สามารถเชื่อมต่อกับ Redshift และ Postgres ด้วยโค้ด Python แล้วอ่านและรันไฟล์สคริปต์ที่เข้ากันได้กับ PSQL ได้ พร้อมแปลงไวยากรณ์ของ Redshift เป็น PSQL ทำให้สามารถรัน unit test ได้

  • ปัญหาที่เกิดขึ้นระหว่างการใช้งานจริง: RedShift มีพื้นฐานมาจาก Postgres 8 แต่ฟังก์ชันที่รองรับต่างกันจึงอาจเกิดปัญหาได้ ซึ่งแก้โดยแปลงก่อนแล้วนำไปรันบน Postgres ที่เปิดขึ้นมาด้วย Docker เพื่อลองทดสอบ

2 ความคิดเห็น

 
xguru 2020-02-18

Here เดิมคือ Navteq ก่อนจะถูก Nokia เข้าซื้อกิจการ และตอนนี้เป็นบริษัทผู้ให้บริการแผนที่/ข้อมูลตำแหน่งที่ถูกเข้าซื้อโดยกลุ่มบริษัทร่วมทุนของ Audi/BMW/Daimler AG จากเยอรมนี

 
xguru 2020-02-18

น่าจะดีถ้าเปิด redCI เองเป็นโอเพนซอร์สด้วย แต่ดูเหมือนว่ายังไปไม่ถึงขั้นนั้นนะครับ