หลังจากเรียนคอร์ส Road to Data Engineer 2.0 ของผม

Pawat Saengduan
Road to Data Engineer Student Blogs
3 min readOct 14, 2021

สวัสดีคร้าาบบบ! กลับมาแล้วครับ หลังจากที่ไม่ได้เขียนบทความมาพักนึง

นึกไม่ออกว่าจะเขียนอะไร ~~~ 555

ผมได้มีโอกาสเข้าเรียนคอร์สนี้จากการ ขโมย เงินแม่มา…. 😅

ในบทความนี้ผมจะเล่าสิ่งที่ผมได้จากคอร์สนี้นะครับผม

เวลาลืมอะไรก็เปิดมาอ่านได้เลย (อยากได้เสื้อเท่ๆ ฮะ อิอิ)

เข้ามาเรียน แอดและ TA เขาก็บรรยายอย่างยาววว เพราะเขาสอนตั้งแต่ Zero เลย 😮

Chapter 0 Python & SQL ไม่ค่อยมีอะไรเท่าไหร่ สอนพวก Basics และ Fundamentalsของ Python และ SQL เช่น OOP, Code flow, etc…

ส่วน SQL ก็สอนคำสั่ง SELECT, INSERT, UPDATE, DELETE เป็นหลัก แม้ผมจะรู้หมดแล้วแต่ก็ทวน SQL บ้างเพราะผมไม่ค่อยได้ใช้ เวลาเขียน BE เล่นๆ ก็ใช้ ORM ตลอด

ETL

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 2Data Cleansing Chapter ในคลาสนี้มี Workshop ด้วยซึ่งนั้นก็คือ Data Collection โดยดึงข้อมูลจาก Database หรือ GET จาก REST API ด้วย requests แล้วแปลงเป็น Pandas Dataframe และสอนใช้ Pandas

ซึ่งผมเคยเวียนวายตายเกิดกับ Pandas มาพอสมควร เพราะฉะนั้นไม่ค่อยมีอะไรที่ผมได้ความรู้ใหม่ๆ จากคลาสนี้

Using PySpark to perform Transformations and Actions on RDD | Tink's Blog

Spark มีอยู่ 3 API เพื่อ Manipulate Data

  1. Spark RDD (Resilient Distributed Dataset)
  2. Spark Dataframe / SQL
  3. Spark DataSets

Spark Dataframe จะคล้ายคลึงกับ Pandas Dataframe แต่เร็วกว่า?

Spark SQL ทำให้ใช้ภาษา SQL กับ Spark ได้

แต่ที่สอนในคลาสคือ Spark Dataframe กับ Spark SQL นิดนึง ซึ่งผมถนัด SQL มากกว่าก็ถือว่า.. รอดตัวไป!!

Google Cloud

Chapter 3 & Workshop 3— ในคลาสนี้เป็นการสอนใช้งาน Google Cloud และ Bash

ซึ่งเขาก็สอนเรื่อง On-premise, Cloud computing และเปรียบเทียบทั้งสองอย่างว่าควรใช้ในสถานการณ์ไหน หรือจะเป็น Google Cloud CLI & gsutil ที่มีไว้ Upload ไฟล์ขึ้น Cloud Storage หรือ Download ไฟล์จาก Cloud Storage ด้วย CLI

และมีเรื่อง Services ใน Google ด้วย

Google Cloud Storage

Cloud Storage ที่ๆ เก็บ Raw file แต่ Optimize หลายๆ อย่าง และยังสามารถใช้มันเป็น Data Lake ได้ (หรือมันเป็น Data Lake มาตั้งแต่ต้นหรือปล่าวว)

Apache Airflow

Chapter 4 & Workshop 4Data pipeline orchestration ในคลาสนี้ผมตามไม่ค่อยทันเท่าไหร่ ในคลาสนี้จะเป็นการเรียน Airflow ซะส่วนใหญ่

ซึ่ง Service ของ GCP ที่เป็น Airflow ก็คือ Cloud Composer~~.. ก็คือ DAG (Directed acyclic graph) โดยเขียนด้วย Python และ Schedule โดยใช้ Cron

Google BigQuery

Chapter 5 & Workshop 5Data Warehouse ในคลาสจะสอนส่วน Data Warehouse ในความเข้าใจของผม Data Warehouse คือ DB ที่เหมาะสำหรับการเก็บข้อมูลแบบระยะยาวและ Query ได้ไว

Service ที่เป็น Data Warehouse ใน GCP คือ BigQuery — แต่ผมก็ได้ยินมาว่า Snowflake ก็ใช้ได้เหมือนกัน (คือ…ไม่เคยใช้ Snowflake ฮะ~~)

Google Data Studio

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

แล้วเจอกันในบทความหน้าครับ ขอบคุณครับ

--

--