หลังจากเรียนคอร์ส Road to Data Engineer 2.0 ของผม
สวัสดีคร้าาบบบ! กลับมาแล้วครับ หลังจากที่ไม่ได้เขียนบทความมาพักนึง
นึกไม่ออกว่าจะเขียนอะไร ~~~ 555
ผมได้มีโอกาสเข้าเรียนคอร์สนี้จากการ ขโมย เงินแม่มา…. 😅
ในบทความนี้ผมจะเล่าสิ่งที่ผมได้จากคอร์สนี้นะครับผม
เวลาลืมอะไรก็เปิดมาอ่านได้เลย (อยากได้เสื้อเท่ๆ ฮะ อิอิ)
เข้ามาเรียน แอดและ TA เขาก็บรรยายอย่างยาววว เพราะเขาสอนตั้งแต่ Zero เลย 😮
Chapter 0 — Python & SQL ไม่ค่อยมีอะไรเท่าไหร่ สอนพวก Basics และ Fundamentalsของ Python และ SQL เช่น OOP, Code flow, etc…
ส่วน SQL ก็สอนคำสั่ง SELECT, INSERT, UPDATE, DELETE เป็นหลัก แม้ผมจะรู้หมดแล้วแต่ก็ทวน SQL บ้างเพราะผมไม่ค่อยได้ใช้ เวลาเขียน BE เล่นๆ ก็ใช้ ORM ตลอด
Chapter 1 — Data Collection ในคลาสนี้จะเป็น Concept ที่ใช้กันหลักๆ ซะส่วนใหญ่ แม้ผมจะเคยได้ยินคำว่า Data pipeline มาบ้าง แต่ ETL นี่หนักกว่าเพราะผมไม่เคยได้ยินมาก่อนเลย
Data pipeline ในมุมมองของผมมันก็เหมือนกับ Automatic Flow.. Flow ที่จะทำงานเองจากการ Scheduling ตามที่เราตั้งไว้ เพื่อนำข้อมูลที่ถูกแปลงหรือประมวลผลเข้า Data Lake หรือ Data Warehouse
ETL ในมุมมองของผมว่ามันคือหนึ่งใน Method ที่จะใช้เป็นฐานในการทำ Flow
E = Extract (นำข้อมูลเข้า Flow)
T = Transform (เอาข้อมูลจาก E มาประมวลผลข้อมูลหรือ แปลงข้อมูล)
L = Load (เอา Output ของ T ยัดเข้า Data Warehouse หรือ Data Lake)
และก็ไม่ได้มีแค่ ETL มี ELT ด้วย ถามว่าต่างกันยังไง? ก็แค่สลับ Load กับ Transform (มั้ง?) และผมเชื่อว่ามันไม่ได้มีแค่ ETL หรือ ETL แน่ๆ น่าจะมีอีกมากมาย
Chapter 2 Workshop 2— Data Cleansing Chapter ในคลาสนี้มี Workshop ด้วยซึ่งนั้นก็คือ Data Collection โดยดึงข้อมูลจาก Database หรือ GET จาก REST API ด้วย requests แล้วแปลงเป็น Pandas Dataframe และสอนใช้ Pandas
ซึ่งผมเคยเวียนวายตายเกิดกับ Pandas มาพอสมควร เพราะฉะนั้นไม่ค่อยมีอะไรที่ผมได้ความรู้ใหม่ๆ จากคลาสนี้
Spark มีอยู่ 3 API เพื่อ Manipulate Data
- Spark RDD (Resilient Distributed Dataset)
- Spark Dataframe / SQL
- Spark DataSets
Spark Dataframe จะคล้ายคลึงกับ Pandas Dataframe แต่เร็วกว่า?
Spark SQL ทำให้ใช้ภาษา SQL กับ Spark ได้
แต่ที่สอนในคลาสคือ Spark Dataframe กับ Spark SQL นิดนึง ซึ่งผมถนัด SQL มากกว่าก็ถือว่า.. รอดตัวไป!!
Chapter 3 & Workshop 3— ในคลาสนี้เป็นการสอนใช้งาน Google Cloud และ Bash
ซึ่งเขาก็สอนเรื่อง On-premise, Cloud computing และเปรียบเทียบทั้งสองอย่างว่าควรใช้ในสถานการณ์ไหน หรือจะเป็น Google Cloud CLI & gsutil ที่มีไว้ Upload ไฟล์ขึ้น Cloud Storage หรือ Download ไฟล์จาก Cloud Storage ด้วย CLI
และมีเรื่อง Services ใน Google ด้วย
Cloud Storage — ที่ๆ เก็บ Raw file แต่ Optimize หลายๆ อย่าง และยังสามารถใช้มันเป็น Data Lake ได้ (หรือมันเป็น Data Lake มาตั้งแต่ต้นหรือปล่าวว)
Chapter 4 & Workshop 4 — Data pipeline orchestration ในคลาสนี้ผมตามไม่ค่อยทันเท่าไหร่ ในคลาสนี้จะเป็นการเรียน Airflow ซะส่วนใหญ่
ซึ่ง Service ของ GCP ที่เป็น Airflow ก็คือ Cloud Composer~~.. ก็คือ DAG (Directed acyclic graph) โดยเขียนด้วย Python และ Schedule โดยใช้ Cron
Chapter 5 & Workshop 5 — Data Warehouse ในคลาสจะสอนส่วน Data Warehouse ในความเข้าใจของผม Data Warehouse คือ DB ที่เหมาะสำหรับการเก็บข้อมูลแบบระยะยาวและ Query ได้ไว
Service ที่เป็น Data Warehouse ใน GCP คือ BigQuery — แต่ผมก็ได้ยินมาว่า Snowflake ก็ใช้ได้เหมือนกัน (คือ…ไม่เคยใช้ Snowflake ฮะ~~)
Chapter 6 & Workshop 6 — Data Visualization ในคลาสนี้จะสอน Service ใน GCP ที่ทำหน้าที่ Data Visualization ก็คือ Data Studio ซึ่งไม่ยากฮะ ซึ่งก็สอนใช้ Connector, Metrics, Dimensions และ Param แต่ผมค่อนข้างถนัดเขียนโดยใช้ FE Library หรือ FE Framework มากกว่าเช่น Chart.js หรืออาจจะใช้ Plotly ครับผม~~
ในคลาสมีรายละเอียดที่ผมไม่ได้ลงไว้ แต่รับรองว่ามึนและมันส์มากฮะ
สิ่งที่ผมบอกเล่ามาเป็นสิ่งที่ผมรู้ในตอนนี้ ถ้าหากว่ามีผิดพลาดประการใด
ผมพร้อมรับคำชี้แนะครับ
นั้นคือทั้งหมดที่ผมได้เรียนมาในคอร์สนี้.. ตั้งแต่ Chapter 4 ค่อนข้างสนุกเพราะได้ทำมัน และก็จุดประสงค์ของบทความนี้คือ Note ดีๆ กับผมจะเอาเสื้อคร้าบบบ 5555
แล้วเจอกันในบทความหน้าครับ ขอบคุณครับ