road to data engineer workshop

Post on 15-Apr-2022

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

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

ใน slido.com

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

ถามค าถาม

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

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

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

Chapter 0:Welcome to the world ofData Engineer

Mission ส าหรบ Road to Data Engineer 2.0

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

คนใหม

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

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

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

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

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

Your first data engineering project

Website / App

Database

API

Data Lake Data Warehouse

Data Visualisation

1 2 3 4 5 6

Data Pipeline

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

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

INTRO TO DATA ENGINEERING

CHAPTER 0

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

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

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

กนอยางไร

✓ Database, Data Lake, Data Warehouse

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

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

Data Engineer คอใคร?

World of Data Science

Data Analystวเคราะหขอมล

Data Scientistสรางโมเดลจากขอมล

Data Engineerสราง + ดแลทเกบขอมล

Data Lake /Data Warehouse / Data Platformทเกบขอมล

โลก Data Science มคนอย 3 ประเภท

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

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

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

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

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

จางคนเดยวเปนทง Data Scientist และ Data Engineer ไดมย?

Data Engineer Data Scientist

การเขยนโปรแกรม

คณตศาสตร

ความรธรกจ

สถต

Machine Learning

วเคราะหขอมล

น าเสนอขอมล

Visualisation

ท าความสะอาดขอมล

Database /Data Lake / Data Warehouse

ระบบจดการขอมลขนาดใหญ(Hadoop, Cloud)

ETL

Unix / Bash

System Automation

Data Engineer กบ Big Data

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

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

ใน 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 ถงใหญขนอยางรวดเรว

Big Dataคออะไร

4Vs by IBM

https://www.ibmbigd

atahub.com/infograp

hic/four-vs-big-data

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

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

Big Data Platform

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

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

Big Data Platform (On-Premise)

http://blog.newtechways.com/2017/10/apache-hadoop-ecosystem.html

storage

resource manager

processing

analysis

ingestion

Big Data Platform (Cloud computing)

Cloud computing: 3 top public cloud providers

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

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

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

Types of Data

1. Structured Data

2. Semi-Structured Data

3. Unstructured Data

1. Structured Data คออะไรขอมลแบบทอยในรปแบบโครงสราง

ทแนนอน สามารถแสดงผลในรปแบบ

ของตารางได

เชน Excel, CSV, TSV

CSV ยอมาจาก Comma-Separated

Values คอ Text file ทไวส าหรบเกบ

ขอมลรปแบบของตาราง นยมคนดวย

Comma ( , ) หรอ Pipe ( | )

TSV ยอมาจาก Tab-Separated Values

2. Semi-Structured Data คออะไรขอมลแบบทมโครงสรางขอมลทมความยดหยน สามารถขยายโครงสรางขอมลไดในอนาคต

เหมาะส าหรบ: ขอมลทสามารถปรบเปลยนโครงสรางไดตลอดเวลา

Semi-structured data มหลายประเภทเชน Key-value, Document, JSON, XML, Graph

{"users": [{

"userId": 1,"firstName": "Adam","lastName": "Lee","emailAddress": "adam@gmail.com"

},{

"userId": 2,"firstName": "John","lastName": "Doe","phoneNumber": "0406817201","emailAddress": "john.doe@gmail.com"

}]

}

ตวอยางขอมลแบบ JSON (JavaScript Object Notation)

3. Unstructured Data คออะไร

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

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

เชน

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

1. Database

2. Data Warehouse

3. Data Lake

1. Databaseเหมาะกบการเกบ Structured Data หรอ Unstructured Data ทตองการ เขยนและเขาถง อยางรวดเรวเชน Website, Application มอถอ, ระบบตาง ๆ ทมผใช ฯลฯ

แบงออกเปน 2 ประเภทใหญ ๆ

1.1) SQL Databaseส าหรบเกบขอมลเปนตาราง (Structured Data)

1.2) NoSQL Databaseส าหรบเกบขอมลแบบ Semi-Structured Data

1.1 SQL Databaseหรอ RDBMS (Relational Database Management System)

คอ ฐานขอมลส าหรบเกบ Structured Data สามารถดงขอมลดวย SQL

เกบขอมลเปนตาราง- Table (ตารางขอมล)- Schema (โครงสรางตาราง) - Relation (ความสมพนธระหวางตาราง)- Primary Key (key ทไมซากน เพอใชอางองในแตละแถว)

ตวอยาง Database Schema

ตวอยาง Database Relation

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

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

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

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

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

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

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

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

ตวอยาง Data Warehouse

Amazon Redshift

Google BigQuery

Snowflake

Azure Synapse

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

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

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

วธเลอก Data Storage: เลอกตามจดประสงคการใชงาน

เกบขอมลในระบบทมการใชงานและเปลยนแปลงตลอดเวลา

เชน

- ฐานขอมลทใชงานในธรกจ หรอ อตสาหกรรม- การใชงานรวมกบ application หรอเวบไซต

⇒ Database (DB)

เกบขอมลเพอการวเคราะหขอมล ส าหรบขอมลทไมม

การเปลยนแปลงแลว

มกจะดงขอมลจาก Database มาเกบ เชน

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

- ใชขอมลเพอสราง BI dashboard / Visualization

⇒ Data Warehouse (DW)

เกบขอมล Unstructured Data เชน รปภาพ, ไฟลเสยง, วดโอหรอการเกบขอมลดบ (raw data) ในรปแบบของไฟล เชน .txt, .csv ในราคาประหยด

⇒ Data Lake (DL)

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

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

Data Pipeline คออะไร

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

Azure Data Factory

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

Amazon Glue

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

Programming

Bash Script Java or Scala

Python

Software Engineer & Automation

Software EngineeringGit, Container (Docker, K8s)

AutomationAirflow, Terraform Apache Airflow Terraform

Git Docker Kubernetes

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 แตควรรวามการแบงกลมเปนอยางไรบาง เพอทจะเรยกใชได

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

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

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

1. Big Data Platform (Hadoop & Cloud)

2. Data Pipeline

3. Data Storage - DB, DW, DL

4. Software Engineering

5. Automation

top related