Data Pipeline ทำยังไง? สรุปวิธีสร้างระบบ Data Science ในองค์กรใหญ่ตั้งแต่ต้นจนจบ

Share on facebook
Share on twitter
Share on linkedin

เห็นมีหลายคนถามเข้ามาว่างานของ Data Engineer ทำอะไรบ้าง? เรียนที่ไหนดี? งานสายนี้เป็นสายที่เงินเดือนดีมาก (เงินเดือนเฉลี่ยสูงกว่า Data Scientist อีก) แต่หาเรียนยากมาก ๆ เพราะเป็นสายงานที่มีเทคโนโลยีให้เลือกใช้เยอะ แต่ละบริษัทก็ใช้ไม่เหมือนกัน

วันนี้เลยจะมาสรุป Conceptให้ฟังกัน อันนี้เป็นการสร้าง Data Pipeline สำหรับระบบ Data Science แบบ End-to-End ก็คือ ตั้งแต่เริ่มเก็บข้อมูล ไปจนถึงนำข้อมูลไปทำ Analytics เลย ถ้าอ่านจบแล้วไปเรียนจนทำได้ครบ สมัครงานที่ไหนเค้าก็รับ!

ขั้นตอนการทำงานของ Data Pipeline แบบ End to End

โพสนี้แนะนำให้ดูรูปประกอบก่อน เพราะแอดตั้งใจวาดม๊ากกกกกกกกก ดูเสร็จแล้วอ่านต่อข้างล่างได้เลย เริ่มจากซ้ายไปขวาเด้อ มาดูกันว่า Data Engineer ต้องทำอะไรบ้าง

data pipeline visualization
Data Pipeline มีอะไรบ้างนะ ?

1) เขียนโค้ดเก็บข้อมูลจากแหล่งต่าง ๆ = ข้อมูลมาได้จากหลายทาง เช่น เซ็นเซอร์เก็บข้อมูล, โปรแกรมต่าง ๆ เช่น Point of Sale (เครื่องคิดเงินตามร้านค้า) หรือแม้แต่ Excel ที่คนกรอก งานนี้อาจจะต้องเขียน NodeJS ดึงจาก API บ้าง, เขียน JavaScript ไปดักข้อมูลในเว็บบ้าง, หรือแม้แต่เขียน Bash Script ไปดึงไฟล์

2) เขียนโค้ด Ingestion = ข้อมูลที่เก็บมาส่วนใหญ่จะเป็นไฟล์ดิบ ๆ ใน Landing Zone (เช่น HDFS) เอาไปทำอะไรยังไม่ได้ เราก็ต้องทำการโหลดข้อมูลเรานี้เข้าระบบฐานข้อมูลที่เราเอามาจัดการต่อได้ง่ายก่อน งานในส่วนนี้ก็คือการโหลดข้อมูลเข้าฐานข้อมูลที่เป็น Staging Layer หรือ Data Lake (เช่น Hive)

3) เขียนโค้ด Integration = ข้อมูลใน Staging Layer จะเป็นข้อมูลที่ค่อนข้างดิบ แต่อยู่ในฐานข้อมูลทำให้เราดัดแปลงได้ง่ายแล้ว ส่วนนี้ก็จะเป็นการแปลงข้อมูลให้เหมาะสมกับ Data Warehouse ที่เราจะเก็บ เช่น แปลงหน่วยของวันที่ให้เหมาะสม หรือแปลงเลขให้มีทศนิยมตามที่ต้องการ พอแปลงเสร็จก็เก็บลง Data Warehouse ซึ่งองค์กรใหญ่ ๆ จะเรียกว่า EDW (Enterprise Data Warehouse) และบางครั้งก็มีการแบ่งย่อยไปเป็น Data Mart ตามหน่วยธุรกิจอีก ขั้นตอนนี้แหละที่เค้ามักจะเรียกกันว่า ETL (อ่านเพิ่มเติมได้ที่บทความ ETL คืออะไร)

4) นำข้อมูลไปวิเคราะห์, ทำ Report, ทำ Dashboard = งานส่วนนี้ Data Scientist จะเป็นคนทำมากกว่า แต่ก็อาจจะมีบางส่วนที่ยังต้องใช้ความช่วยเหลือจาก Data Engineer ซึ่งส่วนนี้เป็นส่วนที่เราพูดถึงกันบ่อย ๆ ไม่ว่าจะเป็นการทำ Data Visualization, Predictive Model, Neural Network, Deep Learning ฯลฯ

สรุป การสร้าง Data Pipeline

จากที่เล่ามาด้านบน จะเห็นได้ว่าจริง ๆ งาน Data Science เป็นส่วนปลายน้ำของทั้ง Flow นี้เลย เพราะฉะนั้นสำหรับองค์กรไหนที่อยากเริ่มต้น แต่ไม่รู้จะเริ่มต้นยังไง ก็จ้างแอดได้ #ผิด

สำหรับองค์กรไหนที่อยากเริ่มต้นทำ Data Science ทำโมเดล Machine Learning เก๋ ๆ ก็เริ่มจากสร้างทีม Data Engineer ที่แข็งแกร่งขึ้นมาก่อนครับ

และสำหรับใครที่ยังสงสัยว่า Data Engineer เรียนที่ไหนดี ตอนนี้เจอแต่ของ Udacity Nanodegree เดือนละหมื่นครับ T_T เดี๋ยวถ้าเจอที่อื่นเดี๋ยวเอามาแชร์กัน

ตอนนี้ลองอ่านบทสัมภาษณ์ฝน Machine Learning Engineer กันก่อน จะได้เข้าใจงานของสายนี้มากขึ้นครับ

สำหรับท่านที่อ่านมาจนจบ ขอกราบขอบพระคุณ และอยากให้ช่วยคอมเม้นท์ไว้ด้านล่างหน่อยครับว่าสนใจอยากอ่านเรื่องไหนแบบเจาะลึกเป็นพิเศษ เดี๋ยวจะได้จัดให้ครับ 😀

แอดเพิร์ธ

Leave a comment

อ่านจบแล้วอยากพูดคุยต่อ? พิมพ์ไว้ตรงนี้ได้เลย แอดมาอ่านทุกอันครับ