บันทึกการสร้าง CI/CD สำหรับ AWS RedShift
(medium.com)วิธีที่ 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 ความคิดเห็น
Here เดิมคือ Navteq ก่อนจะถูก Nokia เข้าซื้อกิจการ และตอนนี้เป็นบริษัทผู้ให้บริการแผนที่/ข้อมูลตำแหน่งที่ถูกเข้าซื้อโดยกลุ่มบริษัทร่วมทุนของ Audi/BMW/Daimler AG จากเยอรมนี
น่าจะดีถ้าเปิด
redCIเองเป็นโอเพนซอร์สด้วย แต่ดูเหมือนว่ายังไปไม่ถึงขั้นนั้นนะครับ