+ All Categories
Home > Documents > Road to Data Engineer Workshop

Road to Data Engineer Workshop

Date post: 15-Apr-2022
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
52
Road to Data Engineer Workshop มาลองเป็น Data Engineer กัน
Transcript
Page 1: Road to Data Engineer Workshop

Road to Data Engineer Workshopมาลองเปน Data Engineer กน

Page 2: Road to Data Engineer Workshop

ขอตกลงการเรยน: จดได ถามได

หาทจดไว ไมลมแนนอน

ระหวางเรยน ถามค าถามไดตลอดเวลา

ใน slido.com

ตอนจบแตละSection จะมเวลาให

ถามค าถาม

Page 3: Road to Data Engineer Workshop

เปาหมายของคอรสน

Practicalคยกนแบบ Engineerประสบการณ > ทฤษฎ

Up-to-dateเนนเทคโนโลยทก าลงมาแรงและมแวววาจะอยไปอกนาน

Page 4: Road to Data Engineer Workshop

Chapter 0:Welcome to the world ofData Engineer

Page 5: Road to Data Engineer Workshop

Mission ส าหรบ Road to Data Engineer 2.0

ยนดดวย! 🎉คณไดรบเขาท างานเปน Data Engineer

คนใหม

และไดรบโจทยใหท าระบบจดเกบ data

ของรานขายหนงสอเสยงชอดง

Page 6: Road to Data Engineer Workshop

Mission แรกของการเปน Data EngineerRequirement ทางธรกจ:ทม Product และทม Marketing ตองการเพมยอดขายในปน จงอยากรวาสนคาไหนขายด เพอจะไดหาสนคาทถกใจผบรโภคมาวางขาย และวางแผนจดโปรโมชนไดเหมาะสม

Requirement ทาง Tech:บรษทเกบขอมลยอดขายจากบนเวบไซต ไวในDatabase

ตองการใหทม Data Engineer เตรยมขอมลใหData Analyst เอาขอมลนมาท า Report และDashboard เสนอทม Product และ Marketing

Page 7: Road to Data Engineer Workshop

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

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

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

INTRO TO DATA ENGINEERING

CHAPTER 0

Page 11: Road to Data Engineer Workshop

เราจะเรยนอะไรกนใน CH0

✓ มารจกกบอาชพ Data Engineer

✓ Data Engineer vs Data Scientist แตกตาง

กนอยางไร

✓ Database, Data Lake, Data Warehouse

มนคออะไร เลอกใชยงไง

✓ Data Engineer ตองมความรดานไหนบาง

Page 12: Road to Data Engineer Workshop

Data Engineer คอใคร?

Page 13: Road to Data Engineer Workshop

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

อาชพทขาดไมไดในองคกรทตองการท า 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

Data Engineer เปนทตองการของตลาด

https://www.indeed.com/career/data-engineer

Page 16: Road to Data Engineer Workshop

งาน Data Engineer ในไทยชอต าแหนงงานใกลเคยง: Cloud Engineer, DevOps Engineer, Data Architect, System Engineer ฯลฯ

องคกรใหญ ๆ ทมขอมลเยอะ จ าเปนตองมคนทดแลงานดานนเชน บรษทในตลาดหน, การเงน ธนาคาร, บรษทประกน, E-Commerce

Page 17: Road to Data Engineer Workshop

จางคนเดยวเปนทง 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

Data Engineer กบ Big Data

Page 19: Road to Data Engineer Workshop

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

ขอมลเตบโตขน ทกนาท

ใน 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

Big Dataคออะไร

4Vs by IBM

https://www.ibmbigd

atahub.com/infograp

hic/four-vs-big-data

Page 22: Road to Data Engineer Workshop

ระบบทสรางขนมาเพอจะชวยใหเราควบคม Big Data ได

แบงเปน 2 ประเภทหลก ๆ

Big Data Platform

On-premiseตดตงบนเซรฟเวอรของบรษท

Cloud Computingใชบรการเซรฟเวอรผานระบบอนเตอรเนตสวนใหญมกจะเปนเซรฟเวอรของบรษทอน

Page 23: Road to Data Engineer Workshop

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

Big Data Platform (Cloud computing)

Page 25: Road to Data Engineer Workshop

Cloud computing: 3 top public cloud providers

Page 26: Road to Data Engineer Workshop

ขอมล และ ทเกบขอมล แบบตาง ๆ

Page 27: Road to Data Engineer Workshop

พฒนาการของวธเกบขอมล

เกบใสกระดาษ เกบใสตาราง เกบใสฐานขอมล

Page 28: Road to Data Engineer Workshop

Types of Data

1. Structured Data

2. Semi-Structured Data

3. Unstructured Data

Page 29: Road to Data Engineer Workshop

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

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

3. Unstructured Data คออะไร

ไฟล รปภาพ วดโอ เสยง

ขอมลทไมมโครงสราง

เชน

Page 32: Road to Data Engineer Workshop

Types of Data Storage (ทเกบขอมล)

1. Database

2. Data Warehouse

3. Data Lake

Page 33: Road to Data Engineer Workshop

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

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

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 37: Road to Data Engineer Workshop

DB RankingSource: https://db-engines.com/en/ranking

Page 38: Road to Data Engineer Workshop

2. Data Warehouseเหมาะกบการเกบขอมลประเภท Structured data ทมขนาดใหญ ใชพนทจดเกบทมปรมาณมาก

ขอมลทเกบมกจะเปนขอมลในอดต (historical data) ทไมมการเปลยนแปลง

(เราจะลองใช Data Warehouse กนในบทท 5)

ตวอยางการน าไปใช เชน

- การท า Dashboard / Report หรอ การท าขอมลเพอประกอบการตดสนใจ (Business Intelligence)

- การวเคราะหขอมล Data Analytics หรอการน าขอมลไปเพอไปสรางโมเดล

Page 39: Road to Data Engineer Workshop

ตวอยาง Data Warehouse

Amazon Redshift

Google BigQuery

Snowflake

Azure Synapse

Apache Hive / Impalaรปตวอยางหนาจอ (UI) ของ Google BigQuery

Page 40: Road to Data Engineer Workshop

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

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

วธเลอก 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

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

เรองอน ๆ ท Data Engineer ตองร

Page 45: Road to Data Engineer Workshop

Data Pipeline คออะไร

Page 46: Road to Data Engineer Workshop

ตวอยางระบบ Data Pipeline

Azure Data Factory

Apache Airflow(เรยนในบทท 4)

Amazon Glue

รปตวอยางหนาจอ (UI) ของ Azure Data Factory

Page 47: Road to Data Engineer Workshop

Programming

Bash Script Java or Scala

Python

Page 48: Road to Data Engineer Workshop

Software Engineer & Automation

Software EngineeringGit, Container (Docker, K8s)

AutomationAirflow, Terraform Apache Airflow Terraform

Git Docker Kubernetes

Page 49: Road to Data Engineer Workshop

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 50: Road to Data Engineer Workshop

Data & AI Landscape 2020 Source: https://mattturck.com/data2020/

Page 51: Road to Data Engineer Workshop

Data & AI Landscape 2020 (zoom in) https://mattturck.com/data2020/

Page 52: Road to Data Engineer Workshop

สรป อยากเปน Data Engineer ตองรอะไรบาง

1. Big Data Platform (Hadoop & Cloud)

2. Data Pipeline

3. Data Storage - DB, DW, DL

4. Software Engineering

5. Automation


Recommended