SlideShare une entreprise Scribd logo
1  sur  26
國立臺北護理健康大學 NTUNHS
ML (ETL) on Database
Orozco Hsu
2022-03-07~2022-03-28
1
About me
• Education
• NCU (MIS)、NCCU (CS)
• Work Experience
• Telecom big data Innovation
• AI projects
• Retail marketing technology
• User Group
• TW Spark User Group
• TW Hadoop User Group
• Taiwan Data Engineer Association Director
• Research
• Big Data/ ML/ AIOT/ AI Columnist
2
Tutorial
Content
3
MLOPS
ETL on using Python
作業
環境準備與SQL練習
Code
• Download code
• https://github.com/orozcohsu/ntunhs_2022_01.git
• Folder
• 20220307_0328_mis_master
4
安裝開發環境與套件
• Miniconda on Windows
• https://docs.conda.io/en/latest/miniconda.html
• Create an python (3.8) env for practice
• Install packages
• pip install jupyterlab
• pip install mysql-connector-python
• pip install SQLAlchemy
• pip install pymysql
• pip install pandas
5
資料庫連線
• 下載 C++ 2019 Redistributable
• https://docs.microsoft.com/en-
us/cpp/windows/latest-supported-vc-
redist?view=msvc-170
• 下載 MySQL Workbench
• https://dev.mysql.com/downloads/wor
kbench/
• 參考
• https://drive.google.com/file/d/1OmVh
ZSeTenC0p6kXlmebUbjMttMO0Iqb/vie
w?usp=sharing
6
資料庫連線
• 開啟 MySQL Workbench,新增資料庫連線
7
資料庫連線
8
連線名稱
連線資訊
資料庫名稱
資料庫連線
9
• 使用臨時mysql資料庫
• 2022-03-06 ~ 2022-04-05
• 連線主機
• 172.105.215.62
• 連線帳號
• db
• 連線密碼
• 20220306!
連線名稱
連線資訊
建立資料庫
• 匯入北風資料庫
10
北風資料庫 Schema
11
參考: https://docs.yugabyte.com/latest/sample-data/northwind/
SQL 練習
• SQL 語法練習
• https://www.w3schools.com/sql/
12
SQL 練習
• 查詢 1995-10-11 ~ 1996-07-01 出口國家的訂單筆數?
• 查詢所有銷售紀錄中,銷售業績最好的前三名業務?
13
select shipcountry,count(*) from orders
where orderdate between date('1995-10-11') and date('1996-07-01')
group by 1
select sum(sales_price) as total_sales, firstname from (
select c.firstname,sales_price from orders a
join (select orderid, unitprice*quantity as sales_price from `order details`) b
on a.orderid=b.orderid
join employees c
on a.employeeid=c.employeeid
)d
group by 2
order by 1 desc
SQL 練習
• 查詢 1996整年度訂單銷售當中,依照分類(CategoryName)計算
銷售金額
14
select categoryname, sum(sales_price) as total_sales from (
select a.orderid, c.productid, b.unitprice*quantity as sales_price, categoryname from (
select orderid from orders
where year(orderdate)=1996
)a
join `order details` b
on a.orderid=b.orderid
join products c
on b.productid=c.productid
join categories d
on c.categoryid=d.categoryid
)e
group by 1
order by 2
經典的資料流程
15
參考: https://www.semanticscholar.org/paper/Role-of-Machine-Learning-in-ETL-Automation-Mondal-Biswas/de85876afc9a2cf3051ac3c47d027325b269d8ee
MLOPS
• 進行機器學習時,經常遇到的問題
• 煩惱如何更有效地促進資料科學家、軟體和維運工程師之間的合作?
找尋如何穩定地研發與交付機器學習模型服務?
找尋如何持續維持機器學習模型服務效能的方式?
16
MLOPS
• 為 DevOps 方法論的擴展,並將機器學習和數據科學資產作為
DevOps 生態納入其中
• 將 ML 產品服務開發、佈署及維運過程中,開發階段能持續整合、
佈署能實現持續佈署,更藉由 ML Pipeline 縮短溝通成本,讓資
料科學家能自動化並在生產系統中獲得寶貴的見解,讓營運團隊
提供可再現性、可見性及託管服務和計算支援
• 讓處理資料更系統化,不再將資料處理任務停留在是骯髒、臨時
起意、靠經驗的印象,而是採更系統化的方式看待整個工作流程,
符合以系統化看待以資料為中心的 AI
17
MLOPS
18
參考: https://www.cpht.pro/blog/blog-post-12/
MLOPS
• 透過 DevOps 的優良實務作法來提升模型服務交付的水準
19
參考: https://proceedings.neurips.cc/paper/2015/file/86df7dcfd896fcaf2674f757a2463eba-Paper.pdf
延伸閱讀
• 吳恩達對於資料與模型的見解,提出 Data-centric AI 方法論
• https://datacentricai.org/
20
延伸閱讀
• Dagster
• A ETL tool
• The data orchestration platform built for productivity
• https://dagster.io/
• https://github.com/dagster-io/dagster
21
Apache-2.0 License
支援各大雲端環境
版本持續更新
最新版本0.14.1:更新日期2022-02-20
Python基本介紹
• Jupyter lab 基本介紹
22
Python基本介紹
• 開啟一個新的 notebook
• import 套件
• 變數指派
• 列印變數
23
ETL on using Python
• ETL 常見的資料整理方式
• drop table if exists
• create temp table
• drop temp table
• select * from table into table
• create table as select
• table join
• select * from table where column in
24
ETL on using Python
• 讀取本地端 csv 檔案,透過 Python 進行資料整理,寫入資料庫
• 讀取 MySQL 上的資料表,經過資料整理轉換後,再寫入資料庫
25
etl.ipynb
作業
• 練習 SQL 基本語法
• 練習 python 資料處理的方法
• 進階: 利用 python的方法,進行 page 13~page14 找出答案
26

Contenu connexe

Similaire à 1_MySQL_20220307_0328.pptx

美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介
pan weizeng
 
Taobao数据库这5年
Taobao数据库这5年Taobao数据库这5年
Taobao数据库这5年
yp_fangdong
 
小米Hadoop&hbase微实践
小米Hadoop&hbase微实践小米Hadoop&hbase微实践
小米Hadoop&hbase微实践
Liang Xie
 
百度数据库中间层
百度数据库中间层百度数据库中间层
百度数据库中间层
yp_fangdong
 
51 cto linuxops_issue2
51 cto linuxops_issue251 cto linuxops_issue2
51 cto linuxops_issue2
Yiwei Ma
 

Similaire à 1_MySQL_20220307_0328.pptx (20)

淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座
 
Track A-3 Enterprise Data Lake in Action - 搭建「活」的企業 Big Data 生態架構
Track A-3 Enterprise Data Lake in Action - 搭建「活」的企業 Big Data 生態架構Track A-3 Enterprise Data Lake in Action - 搭建「活」的企業 Big Data 生態架構
Track A-3 Enterprise Data Lake in Action - 搭建「活」的企業 Big Data 生態架構
 
AI for Everyone (Chinese)
AI for Everyone (Chinese)AI for Everyone (Chinese)
AI for Everyone (Chinese)
 
Feed服务架构-新浪微博新员工培训议题
Feed服务架构-新浪微博新员工培训议题Feed服务架构-新浪微博新员工培训议题
Feed服务架构-新浪微博新员工培训议题
 
4 association rule
4 association rule4 association rule
4 association rule
 
.net framework from 1.0 -> 4.0
.net framework from 1.0 -> 4.0.net framework from 1.0 -> 4.0
.net framework from 1.0 -> 4.0
 
美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介
 
Taobao数据库这5年
Taobao数据库这5年Taobao数据库这5年
Taobao数据库这5年
 
MariaDB: 新兴的开源大数据引擎
MariaDB: 新兴的开源大数据引擎MariaDB: 新兴的开源大数据引擎
MariaDB: 新兴的开源大数据引擎
 
小量快速製造的瓶頸與可行策略
小量快速製造的瓶頸與可行策略小量快速製造的瓶頸與可行策略
小量快速製造的瓶頸與可行策略
 
Item base poc2
Item base poc2Item base poc2
Item base poc2
 
小米Hadoop&hbase微实践
小米Hadoop&hbase微实践小米Hadoop&hbase微实践
小米Hadoop&hbase微实践
 
百度数据库中间层
百度数据库中间层百度数据库中间层
百度数据库中间层
 
51 cto linuxops_issue2
51 cto linuxops_issue251 cto linuxops_issue2
51 cto linuxops_issue2
 
twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧twMVC#42 讓我們用一種方式來開發吧
twMVC#42 讓我們用一種方式來開發吧
 
极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)极速 Angular 开发:效能调校技巧 (ngChina 2019)
极速 Angular 开发:效能调校技巧 (ngChina 2019)
 
玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手玩轉 .NET Interactive Notebooks 一次就上手
玩轉 .NET Interactive Notebooks 一次就上手
 
Data Pipeline Matters
Data Pipeline MattersData Pipeline Matters
Data Pipeline Matters
 
Chapter 4 models
Chapter 4 modelsChapter 4 models
Chapter 4 models
 
Build 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon dataBuild 1 trillion warehouse based on carbon data
Build 1 trillion warehouse based on carbon data
 

Plus de FEG

資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf
資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf
資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf
FEG
 
2023 Supervised_Learning_Association_Rules
2023 Supervised_Learning_Association_Rules2023 Supervised_Learning_Association_Rules
2023 Supervised_Learning_Association_Rules
FEG
 
202312 Exploration Data Analysis Visualization (English version)
202312 Exploration Data Analysis Visualization (English version)202312 Exploration Data Analysis Visualization (English version)
202312 Exploration Data Analysis Visualization (English version)
FEG
 
202312 Exploration of Data Analysis Visualization
202312 Exploration of Data Analysis Visualization202312 Exploration of Data Analysis Visualization
202312 Exploration of Data Analysis Visualization
FEG
 
4_Regression_analysis.pdf
4_Regression_analysis.pdf4_Regression_analysis.pdf
4_Regression_analysis.pdf
FEG
 

Plus de FEG (20)

Sequence Model pytorch at colab with gpu.pdf
Sequence Model pytorch at colab with gpu.pdfSequence Model pytorch at colab with gpu.pdf
Sequence Model pytorch at colab with gpu.pdf
 
學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdf
學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdf學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdf
學院碩士班_非監督式學習_使用Orange3直接使用_分群_20240417.pdf
 
資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf
資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf
資料視覺化_透過Orange3進行_無須寫程式直接使用_碩士學程_202403.pdf
 
Pytorch cnn netowork introduction 20240318
Pytorch cnn netowork introduction 20240318Pytorch cnn netowork introduction 20240318
Pytorch cnn netowork introduction 20240318
 
2023 Decision Tree analysis in business practices
2023 Decision Tree analysis in business practices2023 Decision Tree analysis in business practices
2023 Decision Tree analysis in business practices
 
2023 Clustering analysis using Python from scratch
2023 Clustering analysis using Python from scratch2023 Clustering analysis using Python from scratch
2023 Clustering analysis using Python from scratch
 
2023 Data visualization using Python from scratch
2023 Data visualization using Python from scratch2023 Data visualization using Python from scratch
2023 Data visualization using Python from scratch
 
2023 Supervised Learning for Orange3 from scratch
2023 Supervised Learning for Orange3 from scratch2023 Supervised Learning for Orange3 from scratch
2023 Supervised Learning for Orange3 from scratch
 
2023 Supervised_Learning_Association_Rules
2023 Supervised_Learning_Association_Rules2023 Supervised_Learning_Association_Rules
2023 Supervised_Learning_Association_Rules
 
202312 Exploration Data Analysis Visualization (English version)
202312 Exploration Data Analysis Visualization (English version)202312 Exploration Data Analysis Visualization (English version)
202312 Exploration Data Analysis Visualization (English version)
 
202312 Exploration of Data Analysis Visualization
202312 Exploration of Data Analysis Visualization202312 Exploration of Data Analysis Visualization
202312 Exploration of Data Analysis Visualization
 
Transfer Learning (20230516)
Transfer Learning (20230516)Transfer Learning (20230516)
Transfer Learning (20230516)
 
Image Classification (20230411)
Image Classification (20230411)Image Classification (20230411)
Image Classification (20230411)
 
Google CoLab (20230321)
Google CoLab (20230321)Google CoLab (20230321)
Google CoLab (20230321)
 
Supervised Learning
Supervised LearningSupervised Learning
Supervised Learning
 
UnSupervised Learning Clustering
UnSupervised Learning ClusteringUnSupervised Learning Clustering
UnSupervised Learning Clustering
 
Data Visualization in Excel
Data Visualization in ExcelData Visualization in Excel
Data Visualization in Excel
 
6_Association_rule_碩士班第六次.pdf
6_Association_rule_碩士班第六次.pdf6_Association_rule_碩士班第六次.pdf
6_Association_rule_碩士班第六次.pdf
 
5_Neural_network_碩士班第五次.pdf
5_Neural_network_碩士班第五次.pdf5_Neural_network_碩士班第五次.pdf
5_Neural_network_碩士班第五次.pdf
 
4_Regression_analysis.pdf
4_Regression_analysis.pdf4_Regression_analysis.pdf
4_Regression_analysis.pdf
 

1_MySQL_20220307_0328.pptx