Road to Data Engineer Workshop
Transcript of Road to Data Engineer Workshop
![Page 1: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/1.jpg)
Road to Data Engineer Workshopมาลองเปน Data Engineer กน
![Page 2: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/2.jpg)
ขอตกลงการเรยน: จดได ถามได
หาทจดไว ไมลมแนนอน
ระหวางเรยน ถามค าถามไดตลอดเวลา
ใน slido.com
ตอนจบแตละSection จะมเวลาให
ถามค าถาม
![Page 3: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/3.jpg)
เปาหมายของคอรสน
Practicalคยกนแบบ Engineerประสบการณ > ทฤษฎ
Up-to-dateเนนเทคโนโลยทก าลงมาแรงและมแวววาจะอยไปอกนาน
![Page 4: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/4.jpg)
Chapter 0:Welcome to the world ofData Engineer
![Page 5: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/5.jpg)
Mission ส าหรบ Road to Data Engineer 2.0
ยนดดวย! 🎉คณไดรบเขาท างานเปน Data Engineer
คนใหม
และไดรบโจทยใหท าระบบจดเกบ data
ของรานขายหนงสอเสยงชอดง
![Page 6: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/6.jpg)
Mission แรกของการเปน Data EngineerRequirement ทางธรกจ:ทม Product และทม Marketing ตองการเพมยอดขายในปน จงอยากรวาสนคาไหนขายด เพอจะไดหาสนคาทถกใจผบรโภคมาวางขาย และวางแผนจดโปรโมชนไดเหมาะสม
Requirement ทาง Tech:บรษทเกบขอมลยอดขายจากบนเวบไซต ไวในDatabase
ตองการใหทม Data Engineer เตรยมขอมลใหData Analyst เอาขอมลนมาท า Report และDashboard เสนอทม Product และ Marketing
![Page 7: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/7.jpg)
Your first data engineering project
Website / App
Database
API
Data Lake Data Warehouse
Data Visualisation
1 2 3 4 5 6
Data Pipeline
![Page 8: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/8.jpg)
COURSE OUTLINE
● CH0 Introduction to Data Engineering
● CH1 Data Pipeline & ETL
● Workshop 1: Data Collection with
Python
● CH2 Data Quality & Wrangling
● Workshop 2: Data Wrangling with
Spark
● CH3 Basic Cloud - Google Cloud
● Workshop 3: Data Storage with GCS
![Page 9: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/9.jpg)
COURSE OUTLINE(2)
● CH4 Introduction to Airflow
● Workshop 4: Automated Data Pipeline
with Airflow
● CH5 Introduction to BigQuery
● Workshop 5: Building Data Warehouse
with BigQuery
● CH6 Introduction to Google Data Studio
● Workshop 6: Building dashboard with
Google Data Studio
● CH7 Advanced Data Engineering
![Page 10: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/10.jpg)
INTRO TO DATA ENGINEERING
CHAPTER 0
![Page 11: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/11.jpg)
เราจะเรยนอะไรกนใน CH0
✓ มารจกกบอาชพ Data Engineer
✓ Data Engineer vs Data Scientist แตกตาง
กนอยางไร
✓ Database, Data Lake, Data Warehouse
มนคออะไร เลอกใชยงไง
✓ Data Engineer ตองมความรดานไหนบาง
![Page 12: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/12.jpg)
Data Engineer คอใคร?
![Page 13: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/13.jpg)
World of Data Science
Data Analystวเคราะหขอมล
Data Scientistสรางโมเดลจากขอมล
Data Engineerสราง + ดแลทเกบขอมล
Data Lake /Data Warehouse / Data Platformทเกบขอมล
โลก Data Science มคนอย 3 ประเภท
![Page 14: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/14.jpg)
อาชพทขาดไมไดในองคกรทตองการท า Data Science
“ส าหรบองคกรทมขอมลไมซบซอนควรม Data Engineer 2-3 คนตอ Data Scientist 1 คน
ส าหรบองคกรทมขอมลซบซอนควรม Data Engineer 4-5 คนตอ Data Scientist 1 คน”
https://www.oreilly.com/radar/data-engineers-vs-data-scientists/
https://towardsdatascience.com/who-is-a-data-engineer-how-to-become-a-data-engineer-1167ddc12811
Data Engineer
![Page 15: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/15.jpg)
Data Engineer เปนทตองการของตลาด
https://www.indeed.com/career/data-engineer
![Page 16: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/16.jpg)
งาน Data Engineer ในไทยชอต าแหนงงานใกลเคยง: Cloud Engineer, DevOps Engineer, Data Architect, System Engineer ฯลฯ
องคกรใหญ ๆ ทมขอมลเยอะ จ าเปนตองมคนทดแลงานดานนเชน บรษทในตลาดหน, การเงน ธนาคาร, บรษทประกน, E-Commerce
![Page 17: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/17.jpg)
จางคนเดยวเปนทง Data Scientist และ Data Engineer ไดมย?
Data Engineer Data Scientist
การเขยนโปรแกรม
คณตศาสตร
ความรธรกจ
สถต
Machine Learning
วเคราะหขอมล
น าเสนอขอมล
Visualisation
ท าความสะอาดขอมล
Database /Data Lake / Data Warehouse
ระบบจดการขอมลขนาดใหญ(Hadoop, Cloud)
ETL
Unix / Bash
System Automation
![Page 18: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/18.jpg)
Data Engineer กบ Big Data
![Page 19: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/19.jpg)
Big Data คออะไร
19
Data ในปจจบนมขนาดใหญขนมาก
2010:1.2 Trillions GB
of data available
(1,200,000,000,000 GB)
2020:40 Trillions
GBof data available
(40,000,000,000,000 GB)
Source: EMC.com
![Page 20: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/20.jpg)
ขอมลเตบโตขน ทกนาท
ใน 1 นาท:
● ผใชบน Youtube ดวดโอ 4.3 ลานครง● ผใชบน Google ท าการคนหา 3.8 ลานครง● ผใช Twitter สงทวต 470K ทวต● ผใช Spotify เลนเพลง 750,000 เพลง● ผใช Uber ใชเวลาเดนทาง 1.3K
(Reference: Data Never Sleep - https://www.domo.com/learn/data-never-sleeps-6)
ท าไม Big Data ถงใหญขนอยางรวดเรว
![Page 21: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/21.jpg)
Big Dataคออะไร
4Vs by IBM
https://www.ibmbigd
atahub.com/infograp
hic/four-vs-big-data
![Page 22: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/22.jpg)
ระบบทสรางขนมาเพอจะชวยใหเราควบคม Big Data ได
แบงเปน 2 ประเภทหลก ๆ
Big Data Platform
On-premiseตดตงบนเซรฟเวอรของบรษท
Cloud Computingใชบรการเซรฟเวอรผานระบบอนเตอรเนตสวนใหญมกจะเปนเซรฟเวอรของบรษทอน
![Page 23: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/23.jpg)
Big Data Platform (On-Premise)
http://blog.newtechways.com/2017/10/apache-hadoop-ecosystem.html
storage
resource manager
processing
analysis
ingestion
![Page 24: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/24.jpg)
Big Data Platform (Cloud computing)
![Page 25: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/25.jpg)
Cloud computing: 3 top public cloud providers
![Page 26: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/26.jpg)
ขอมล และ ทเกบขอมล แบบตาง ๆ
![Page 27: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/27.jpg)
พฒนาการของวธเกบขอมล
เกบใสกระดาษ เกบใสตาราง เกบใสฐานขอมล
![Page 28: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/28.jpg)
Types of Data
1. Structured Data
2. Semi-Structured Data
3. Unstructured Data
![Page 29: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/29.jpg)
1. Structured Data คออะไรขอมลแบบทอยในรปแบบโครงสราง
ทแนนอน สามารถแสดงผลในรปแบบ
ของตารางได
เชน Excel, CSV, TSV
CSV ยอมาจาก Comma-Separated
Values คอ Text file ทไวส าหรบเกบ
ขอมลรปแบบของตาราง นยมคนดวย
Comma ( , ) หรอ Pipe ( | )
TSV ยอมาจาก Tab-Separated Values
![Page 30: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/30.jpg)
2. Semi-Structured Data คออะไรขอมลแบบทมโครงสรางขอมลทมความยดหยน สามารถขยายโครงสรางขอมลไดในอนาคต
เหมาะส าหรบ: ขอมลทสามารถปรบเปลยนโครงสรางไดตลอดเวลา
Semi-structured data มหลายประเภทเชน Key-value, Document, JSON, XML, Graph
{"users": [{
"userId": 1,"firstName": "Adam","lastName": "Lee","emailAddress": "[email protected]"
},{
"userId": 2,"firstName": "John","lastName": "Doe","phoneNumber": "0406817201","emailAddress": "[email protected]"
}]
}
ตวอยางขอมลแบบ JSON (JavaScript Object Notation)
![Page 31: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/31.jpg)
3. Unstructured Data คออะไร
ไฟล รปภาพ วดโอ เสยง
ขอมลทไมมโครงสราง
เชน
![Page 32: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/32.jpg)
Types of Data Storage (ทเกบขอมล)
1. Database
2. Data Warehouse
3. Data Lake
![Page 33: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/33.jpg)
1. Databaseเหมาะกบการเกบ Structured Data หรอ Unstructured Data ทตองการ เขยนและเขาถง อยางรวดเรวเชน Website, Application มอถอ, ระบบตาง ๆ ทมผใช ฯลฯ
แบงออกเปน 2 ประเภทใหญ ๆ
1.1) SQL Databaseส าหรบเกบขอมลเปนตาราง (Structured Data)
1.2) NoSQL Databaseส าหรบเกบขอมลแบบ Semi-Structured Data
![Page 34: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/34.jpg)
1.1 SQL Databaseหรอ RDBMS (Relational Database Management System)
คอ ฐานขอมลส าหรบเกบ Structured Data สามารถดงขอมลดวย SQL
เกบขอมลเปนตาราง- Table (ตารางขอมล)- Schema (โครงสรางตาราง) - Relation (ความสมพนธระหวางตาราง)- Primary Key (key ทไมซากน เพอใชอางองในแตละแถว)
ตวอยาง Database Schema
ตวอยาง Database Relation
![Page 35: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/35.jpg)
1.2 NoSQL Database
ฐานขอมลอกประเภท ทเกดขนมาส าหรบ Semi-Structured Data
NoSQL = Not Only SQL หมายถงวา Database แบบ NoSQL บางตวกอาน SQL ได
เชน MongoDB หรอ Neo4J
Document stores Key-value stores Graph DBMS Wide column stores
![Page 36: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/36.jpg)
Database Models ยงมอกมากมาย● Relational DBMS
● Key-value stores
● Document stores
● Graph DBMS
● Time Series DBMS
● Object oriented DBMS
● Search engines
● RDF stores (triplestore)
● Multivalue DBMS
● Wide column stores
● Native XML DBMS
● Event Stores
● Content stores
● Navigational DBMS
![Page 38: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/38.jpg)
2. Data Warehouseเหมาะกบการเกบขอมลประเภท Structured data ทมขนาดใหญ ใชพนทจดเกบทมปรมาณมาก
ขอมลทเกบมกจะเปนขอมลในอดต (historical data) ทไมมการเปลยนแปลง
(เราจะลองใช Data Warehouse กนในบทท 5)
ตวอยางการน าไปใช เชน
- การท า Dashboard / Report หรอ การท าขอมลเพอประกอบการตดสนใจ (Business Intelligence)
- การวเคราะหขอมล Data Analytics หรอการน าขอมลไปเพอไปสรางโมเดล
![Page 39: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/39.jpg)
ตวอยาง Data Warehouse
Amazon Redshift
Google BigQuery
Snowflake
Azure Synapse
Apache Hive / Impalaรปตวอยางหนาจอ (UI) ของ Google BigQuery
![Page 40: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/40.jpg)
Structured Data เกบทไหนด: OLTP vs OLAP
OLTP (On-Line Transaction Processing)⇒ Database
● ออกแบบมาส าหรบการเขยนและอปเดตขอมล
● พบไดบอยใน application, เวบไซต
OLAP (On-Line Analytical Processing)⇒ Data Warehouse
● ออกแบบมาส าหรบการอานขอมลเยอะๆ เพอน าไปวเคราะห หรอท า Data Visualization (Chapter 6)
● เหมาะกบการวเคราะหขอมลทซบซอนโดย Data Analyst และ Data Scientist
[ DB [DW]
Oracle DB Apache Hive
![Page 41: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/41.jpg)
3. Data LakeData Lake เปนทเกบขอมลขนาดใหญ รองรบขอมลทกรปแบบทเปนไฟล
คลาย Harddrive ในเครองคอมพวเตอรของเรา แตมระบบปองกนขอมลสญหายทดกวา
เกบไดทง Structured Data, Semi-Structured Data และ Unstructured Data
(เราจะลองใช Data Lake กนในบทท 3)
Apache Hadoop HDFSHadoop Distributed File
System
Amazon S3 Google CloudStorage
Azure BlobStorage
Data Lakeบางครงกถกเรยกวา object storage หรอblob storage
![Page 42: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/42.jpg)
วธเลอก Data Storage: เลอกตามจดประสงคการใชงาน
เกบขอมลในระบบทมการใชงานและเปลยนแปลงตลอดเวลา
เชน
- ฐานขอมลทใชงานในธรกจ หรอ อตสาหกรรม- การใชงานรวมกบ application หรอเวบไซต
⇒ Database (DB)
เกบขอมลเพอการวเคราะหขอมล ส าหรบขอมลทไมม
การเปลยนแปลงแลว
มกจะดงขอมลจาก Database มาเกบ เชน
- การน าขอมลไปวเคราะห หรอ สรางโมเดล
- ใชขอมลเพอสราง BI dashboard / Visualization
⇒ Data Warehouse (DW)
เกบขอมล Unstructured Data เชน รปภาพ, ไฟลเสยง, วดโอหรอการเกบขอมลดบ (raw data) ในรปแบบของไฟล เชน .txt, .csv ในราคาประหยด
⇒ Data Lake (DL)
![Page 43: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/43.jpg)
Pattern พนฐาน ในการเกบขอมลบนระบบ Big Data
DatabaseSemi-Structured Data &Structured data
DataWarehouse, Data Mart
Data Lake
ขอมล Structured (SQL)- เกบใน SQL Database, Data Lake,
Data Warehouse
Unstructured Data
ขอมล Semi-structured (NoSQL)- เกบใน NoSQL Database หรอ Data
Lake- Data Warehouse บางตวเกบ Semi-
structured ไดแลว
ขอมล Unstructured- เกบใน Data Lake
![Page 44: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/44.jpg)
เรองอน ๆ ท Data Engineer ตองร
![Page 45: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/45.jpg)
Data Pipeline คออะไร
![Page 46: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/46.jpg)
ตวอยางระบบ Data Pipeline
Azure Data Factory
Apache Airflow(เรยนในบทท 4)
Amazon Glue
รปตวอยางหนาจอ (UI) ของ Azure Data Factory
![Page 47: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/47.jpg)
Programming
Bash Script Java or Scala
Python
![Page 48: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/48.jpg)
Software Engineer & Automation
Software EngineeringGit, Container (Docker, K8s)
AutomationAirflow, Terraform Apache Airflow Terraform
Git Docker Kubernetes
![Page 49: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/49.jpg)
Technology Stack
Data Lake Data ProcessingData Warehouse Data Pipeline
Azure Data Factory
Apache Airflow
Amazon Glue
Amazon Redshift
Snowflake
Azure Synapse
Google BigQuery
Azure Blob Storage
Amazon S3
Google Cloud Storage
Apache Spark Apache Beam
Apache Hive Apache Oozie LuigiCloud Dataproc
Cloud Dataflow
เกบขอมลทกรปแบบ เกบขอมลส าหรบวเคราะห
ประมวลผลขอมล ควบคมการเคลอนทของขอมล
Data Engineer มเทคโนโลยใหเลอกใชเยอะ เชน
เราไมจ าเปนตองรจกทก Tool แตควรรวามการแบงกลมเปนอยางไรบาง เพอทจะเรยกใชได
![Page 52: Road to Data Engineer Workshop](https://reader033.fdocuments.net/reader033/viewer/2022042201/625870f4d497697a6200f093/html5/thumbnails/52.jpg)
สรป อยากเปน Data Engineer ตองรอะไรบาง
1. Big Data Platform (Hadoop & Cloud)
2. Data Pipeline
3. Data Storage - DB, DW, DL
4. Software Engineering
5. Automation