สรุปบทความ Data Quality Automation at Twitter ของ Eduardo Ohe กับ Bi Wu

ได้อ่านบทความ Data Quality Automation at Twitter ซึ่งเป็นบทความไม่ยาวมาก และมีความ simple ในการออกแบบ ดูน่าสนใจ

เรื่อง data quality นี่เป็นปัญหาที่ทุก ๆ องค์กรจะต้องเจอ ที่ Twitter ก็เช่นกัน แล้วทีนี้เราจะทำอย่างไรให้เราสามารถควบคุม และคอยสอดส่องเรื่องนี้ได้อยู่ตลอดเวลา ที่ Twitter เค้าเลยสร้างแพลตฟอร์มขึ้นมาที่ชื่อว่า Data Quality Platform (DQP) ที่จะคอยไปกวาดดูข้อมูลต่าง ๆ และเก็บ metrics เพื่อเอามาให้กับทีมได้เห็นกัน การออกแบบก็ตามรูปด้านล่างนี้เลย :point_down:

ข้างในหลัก ๆ เค้าใช้ Great Expectations ในการ validate ข้อมูลต่าง ๆ และใช้ Stats Collector Library ที่เค้าทำขึ้นมาเอง โดยมี Airflow คอยควบคุม workflow ต่าง ๆ เสร็จแล้วส่งเข้า Pub/Sub หลังจากนั้นก็จะมี Dataflow มากวาดข้อมูลไปเข้า BigQuery และใช้ Looker ในการทำส่วน data visualization

อ้อ ตรงส่วน YAML ในรูป เป็นการสร้าง Airflow DAG แหละ เผื่อใครกำลังสงสัยอยู่ จะเห็นว่ามีตัว DAG Generator คอยอ่าน YAML เพื่อไปสร้าง Airflow DAG ให้ โดยแทนที่เราจะมาเขียนโค้ด Python ก็ให้เขียนเป็นแนว configuration แทน

ผลที่ได้จากการสร้าง DQP เค้าบอกว่า

  • ลดงานในส่วน data quality check ไปได้ถึง 20% เพราะว่ามีเรื่อง automated validation เข้ามาช่วยจาก DQP
  • เพิ่มความมั่นใจในการส่งมอบข้อมูลเพื่อเอาไปใช้งานต่อ

แพลตฟอร์มเค้าดูเรียบง่ายดีเนอะ :blush:

พวก data validation framework มันมีอีกตัวที่มาแรง คือ pandera

แต่เหมือนว่ามันยังไม่ซัพพอท spark ก็เลยยังก๊องๆ แก๊งๆ อยู่

great expectations นี่ดีจริง แต่ deploy prod นี่ตีลังกาหลายตลบมาก เคยทำ poc กะ dagster อยู่ แต่ยังไม่ได้ใช้จริง แต่อันนี้ก็ตั้งแต่ปีที่แล้ว ตอนนี้น่าจะดีขึ้นกว่าเดิมเยอะละ ที่เจ๋งคือใน dagster log มันจิ้มมาขึ้น markdown ให้ดูเลย

1 Like