SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
淺談物聯網的巨量資料挑戰
王耀聰
Jazz Yao-Tsung Wang
Co-founder of Hadoop.TW
About Me
• 王耀聰 Jazz Yao-Tsung Wang
• Hadoop.TW 共同創辦人
• HadoopCon 社群年會總召
• Hadoop The Definitive Guide 譯者
• Hadoop Operations 譯者
• 自由軟體愛好者 / 推廣者 / 開發者
• http://about.me/jazzwang - slideshare, github, etc.
2
3
Agenda 大綱
• 萬法歸宗:商業模式(金流)、數據流、物流
• 建立生產歷程的常見痛點
– 資料來源雜
– 資料表太寬
– 查詢速度慢
• 導入相關技術的前置行動
– 目前關聯式資料庫的極限是幾個欄位?
– 未來如何驗證評測解決方案? 如何產生範例資料集 ?
4
市場上總是充斥著一堆熱門關鍵字
Gartner Hype Cycle 2014
萌芽期 夢幻期 幻滅期 平原期 高原期
Internet of Things
Big Data
Cloud Computing
5
長江後浪推前浪,前浪死在沙灘上
Gartner Hype Cycle 2015
萌芽期 夢幻期 幻滅期 平原期 高原期
Hybrid Cloud Computing
Internet of Things
Machine Learning
Virtual Reality
這些話題多半只是某應用「數據流」Data Pipeline 的一部分
蒐
存 取
析
用
7
設計 Data Pipeline 之前的規劃六思考帽
• 問題一:組織想要解決什麼商業問題 ?? ( Value )
可以用資料解決嗎 ?? ( 降低成本 or 增加收益 )
• 問題二:這些資料哪些是內部資料 ?? 哪些是外部資料??
該如何獲得 ?? 有哪些型態 ?? ( Variety )
• 問題三:分析這些資料是否合乎法規需求 ??
有無需要事先聲明的保護條款 ?? ( Legality )
• 問題四:驗證答案真的在這堆資料裡 ?? 資料是否可靠 ??
需要多少資料才能找到答案 ?? ( Volume , Veracity )
• 問題五:挑選合理的資料處理/分析平台 – 人、流程、技術
定義多快找到答案才能解決商業問題 ( Velocity )
• 問題六:定義效益評量指標 ( 怎麼算 ROI ?? 或 KPI 是什麼 ?? )
持續改善的時程藍圖 ( Validation , Roadmap )
7
8
物聯網的第一個挑戰:具永續特徵的商業模式(金流)
以 http://iot.nctu.edu.tw/ 談到的為例
影片
自訂
Flum
e
HDFS
Map
Reduce
Hive
(Cold)
Mobile
App
照片
錄音
日誌檔
Log
網頁
HTML
交換檔
XML,
Json
syslog
FTP
Scribe
Fluentd HBase
RDBMS
File Input /
Output
Format
FS
Shell
Web
HDFS
Thrift
Java
API
DBInput /
DBOutput
Format
Pig
Mahout
Oozie
Impala
(Warm)
EDW
(Hot)RDBMS
資料處理 Processing 資料分析 Analysis
Sqoop
生 流 蒐 存 取 算 析 用 看
資料源 網路協定 前處理 儲存方式 存取方式 資料處理 資料分析 視覺化 解讀
變
行動
Engineer
(電機)
Network
(網通)
System
Admin
DBA
(資管)
Programmer
(資工)
Analyst
(統計)
Decision
Maker
企業內部的人力資源盤點 People
處理巨量資料的常見流程 Process
處理巨量資料的技術盤點 Technology
導入藍圖
Roadmap
權限管控
(二求安全)
品質管控
(再求更好)
數量管控
(先求可行)
產業先驅位置
@ 2012
產業先驅位置
@ 2015




10
10
生 流 蒐
存 取
算 析 用 看
資料源 網路協定 前處理
儲存方式 存取方式
資料處理 資料分析 視覺化 解讀
變
行動
佇 濾
串流佇列 串流過濾
靜止的巨量資料
Big Data at Rest
更新頻率較低
可接受批次處理
分鐘到小時
流動的巨量資料
Big Data in Motion
更新頻率很高
Micro Batch
“微批次”
毫秒到秒
影片 自訂 Flume HDFS Map
Reduce
Hive
(Cold)
Mobile
App
照片
錄音
日誌檔
Log
網頁
HTML
交換檔
XML, Json
syslog
FTP
Fluentd
HBase
Web
HDFS
Thrift
Java
API
Pig
Mahout
Oozie
Impala
(Warm)
Sqoop
Scribe
TCP
UDP
StarGate
HBase
CoProcessor
logstash
Kafka
RabbitMQ
Spark
Streaming Spark
MQTT感測器
Sensor
機
器
製
造
的
資
料
人
類
製
造
的
資
料
Spark
SQL
Shark
MLlib
GraphX
SparkR
AMQP
JMS
D3.js
物聯網的第二個挑戰:挑選合適的數據流
11
Agenda 大綱
• 萬法歸宗:商業模式(金流)、數據流、物流
• 建立生產歷程的常見痛點
– 資料來源雜
– 資料表太寬
– 查詢速度慢
• 導入相關技術的前置行動
– 目前關聯式資料庫的極限是幾個欄位?
– 未來如何驗證評測解決方案? 如何產生範例資料集 ?
12
生產機台 1
生產機台 2
生產機台 N
‧
‧
‧
製造執行
MES
生產日誌
資料倉儲
批次
ETL
運算
批次
分析
運算
生產
統計
報表
製程監控
FDC
結構化資料
Structured Data
非結構化資料
Unstructured Data
視覺
檢測
生
資料源
半結構化資料
Semi-structured Data
語法
分析
程式
檢測
紀錄
事件
日誌
13
固定格式的 Log – 耗時等級: 中等
• 通常以純文字格式存在,通常有固定的分隔符號跟欄位定義
• 常見痛點:檔案太大,單機跑太久
• 目前解法:平行切割檔案,平行解析內容
• 常見來源:
– Windows Event Log (串流)
– 能夠提供標準 Syslog 格式的網路設備 (串流)
– XML 交換資料檔 (靜態)
– 網頁伺服器 Web Access Log / DNS Access Log
• 常用工具: Pig , Perl, Python
• 可批次化: 易
59.126.110.102 - - [01/Mar/2015:00:00:00 +0800] "GET
/action?;act=view;uid=;pid=0004880654;cat=J,J_007,J_007_009,J_007_009_016;erUid=f05a803a-b641-ebb0-
1fe1-383669dd375; HTTP/1.1" 302 160 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:23.0)
Gecko/20100101 Firefox/23.0"
61.228.63.117 - - [01/Mar/2015:00:00:00 +0800] "GET
/action?;act=view;uid=;pid=0014166460;cat=L,L_010,L_010_006,L_010_006_016;erUid=c3931c39-87c5-78d4-
c7bc-33ef22963491; HTTP/1.1" 302 160 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML,
like Gecko) Chrome/29.0.1547.76 Safari/537.36"
流
網路協定
蒐
前處理
魔鬼細節
14
自由格式的 TXT – 耗時等級: 高等
• 通常以純文字格式存在,只有區塊定義
• 常見痛點:檔案太多,單機跑太久
• 目前解法:平行分配解析運算到多台
• 常見來源:
– 晶片封裝檢測程式產生的日誌檔
– 晶片模擬軟體產生的日誌檔
• 常用工具: Perl, Python + Hadoop Streaming
• 可批次化: 難,須注意例外處理
LOTID: XXXXXX PID: YYYYYY MID: ZZZZZZZ
DATE: 2015/05/20 TIME:15:47:06 OP: Jazz Wang PROGRAM: TEST-2
FUNC 1 FUNC 2
--------------------------- ---------------------------
PIN1,V1,V2,V3,V4 PIN4,V1,V2
PIN2,V1,V2,V3,V4,V5,V6,V7,V8,V9 PIN8,V3,V4,V5,V6,V7,V8
PIN3,V1,V2 PIN3,V3,V5,V8,V7,V6
--------------------------- PIN2,V1,V3,V5
PIN3,V1,V2,V3,V4
流
網路協定
蒐
前處理
魔鬼細節
15
生產機台 1
生產機台 2
生產機台 N
‧
‧
‧
製造執行
MES
生產日誌
資料倉儲
批次
ETL
運算
批次
分析
運算
生產
統計
報表
製程監控
FDC
非結構化資料
Unstructured Data
視覺
檢測
半結構化資料
Semi-structured Data
語法
分析
程式
檢測
紀錄
事件
日誌
存
儲存方式
結構化資料
Structured Data
16
巨量資料時代,企業資料倉儲面臨的挑戰:寬
• 為了能夠做更多分析,需要建立更多連結資料 (Linked Data)
• 常見解法: JOIN 成一張更大的表
• 常見痛點: 欄位太寬,資料量太大,寫入太久,單機跑不動
叢集式資料倉儲又太貴
• 問題根源:
– 太寬 → 現有資料倉儲是以關聯式資料庫實作,本質上會建議拆成多張表
– 太大 → 關聯式資料庫必須靠 Sharding 來解決資料量的問題
– 太久 → 關聯式資料庫是為了查詢快,所以寫入時要花 CPU 建立索引
• 目前解法:
– 入庫即查 ( Schema on Read 解決太寬問題, 不建索引自然寫入快 )
– 平行寫入 ( 分散儲存解決資料量問題, 平行寫入解決寫入太久問題 )
• 常用工具: Hive (SQL-like), HBase (NoSQL)
• 未來挑戰: 遞增資料的入庫
17
寬跟慢是一體兩面:能有多寬? 能有多大? 會有多慢?
• 快或慢,很主觀。
• 回歸商業問題的需求,再來定義對速度的要求
– 批次 (年/月/週/日) – 近即時 (時/分) – 即時 (秒/毫秒)
• 資料集特性:
– 總欄位數 = 製程工序數 (column) or 零售商品數
– 總資料量 = 製程工序數 * 資料型態大小 * 生產數量(row)
• 請發揮您的想像力: (因為這些我也不知道答案,只能讓各位感受與想像一下)
– 如果今天有 3,000 個連線要同時將資料寫入關聯式資料庫
– SQL Client 同時連線數的上限 ?? 需要購買多少授權 ??
– 需要買幾核心的機器呢 ?? 多少記憶體 ?? 該用光纖接 SAN 嗎 ??
– 硬碟寫入速度該有多快 ?? 會不會發生競爭同一顆硬碟的問題 ??
避
免
落
入
效
能
規
格
戰
爭
產
生
商
業
價
值
才
是
重
點
18
商品1 商品2 商品3 商品4 商品5 商品6 商品7 商品8 商品9
客戶A 金額1 金額1
客戶B 金額2 金額1
客戶C 金額3 金額1
客戶D 金額2 金額4
客戶E 金額3 金額5 金額5
客戶F 金額4 金額6
客戶G 金額5 金額7
客戶H 金額6 金額7 金額8
客戶I 金額8 金額9
客戶J 金額9 金額1
客戶K 金額9 金額2
客戶L 金額3
示意:客戶特徵分析 (原始)
19
商品1 商品2 商品3 商品4 商品5 商品6 商品7 商品8 商品9
客戶A 金額1 金額1
客戶D 金額2 金額4
客戶B 金額2 金額1
客戶E 金額3 金額5 金額5
客戶H 金額6 金額7 金額8
客戶J 金額9 金額1
客戶C 金額3 金額1
客戶F 金額4 金額6
客戶G 金額5 金額7
客戶I 金額8 金額9
客戶K 金額9 金額2
客戶L 金額3
示意:客戶特徵分析 (分群)
20
生產機台 1
生產機台 2
生產機台 N
‧
‧
‧
製造執行
MES
生產日誌
資料倉儲
批次
ETL
運算
批次
分析
運算
生產
統計
報表
製程監控
FDC
非結構化資料
Unstructured Data
視覺
檢測
半結構化資料
Semi-structured Data
語法
分析
程式
檢測
紀錄
事件
日誌
存
結構化資料
Structured Data
取
存取方式
算
資料處理
析
資料分析
21
常見痛點:查詢太慢
• 人與技術:
– 通常組織內部是由熟悉 SQL
與統計語言的資料庫管理員
與分析師在進行分析
– 為了解釋現象與原因,會利用
視覺化工具,繪製「管制圖」
方便解讀,產生洞察
• 常見痛點:
– 複雜 SQL 查詢執行太久
– 報表反應速度很慢
• 一般解法:
– 查詢太久 → (下一頁)
– 反應很慢 → 預處理
(先建好要查的資料表)
DBA
(資管)
Analyst
(統計)
select
i_item_id, s_state, avg(ss_quantity) agg1,
avg(ss_list_price) agg2, avg(ss_coupon_amt) agg3,
avg(ss_sales_price) agg4
from
store_sales, customer_demographics,
date_dim, store, item
Where
ss_sold_date_sk = d_date_sk
and ss_item_sk = i_item_sk
and ss_store_sk = s_store_sk
and ss_cdemo_sk = cd_demo_sk
and cd_gender = 'F'
and cd_marital_status = 'W'
and cd_education_status = 'Primary'
and d_year = 1998
and s_state in ('WI', 'CA', 'TX', 'FL', 'WA', 'TN')
and ss_sold_date_sk between 2450815 and 2451179
group by
i_item_id, s_state
order by
i_item_id, s_state
limit 100;
取
存取方式
算
資料處理
22
痛點:查詢太慢,那怎麼找止痛藥呢?
• 進階解法:
– 查詢平行執行 ( SQL Execution Plan 平行化分配到不同節點運算 )
– 用記憶體加速 ( In Memory Database )
– 資料結構最佳化 ( 善用 Partition, 改用 Parquet 格式, 線性壓縮 )
– 查詢語句最佳化 ( 觀察 SQL Execution Plan , 調整系統參數 )
• 常用工具:
– 互動式查詢:Impala ( In-Memory Database, SQL-92 Ad-Hot Query )
– 大範圍查表:HBase ( In-Memory Datastore , 只有 PUT/GET/SCAN)
– 大範圍分析:Hive ( Batch, 數分到數天, SQL-92 )
• 標準介面: ODBC / JDBC
• 潛在挑戰: SQL 語句的移轉 取
存取方式
算
資料處理
23
痛點:分析太慢,那止痛藥呢?
• 新興需求:多變量分析、機器學習
– 分析方法通常會使用到機器學習的工具,
如:降維(PCA/SVD)、分群(K-Mean)等
– 若考量人與技術:統計軟體 R 與 SQL 仍是主流
• 常見痛點:
– 單機記憶體不足、運算時間太久、讀取資料太慢
• 目前解法:
– 不足 → 平行運算 ( 拆解資料,將運算平行化分配到不同節點 )
– 太久 → 善用記憶體加速 ( In Memory Computing )
– 太慢 → 平行讀寫 ( 有迭代特性的演算法, 盡量減少中間產物 )
• 常用工具:
– 批次機器學習: Mahout ( Batch )
– 機器學習函式庫: Spark MLlib ( In-Memory Computing , RDD)
析
資料分析
24
Agenda 大綱
• 萬法歸宗:商業模式(金流)、數據流、物流
• 建立生產歷程的常見痛點
– 資料來源雜
– 資料表太寬
– 查詢速度慢
• 導入相關技術的前置行動
– 目前關聯式資料庫的極限是幾個欄位?
– 未來如何驗證評測解決方案? 如何產生範例資料集 ?
25
企業無法外包的部分:用、看、變
• 資訊服務業通常熟悉技術,也有具備對應的技術人才
然而很難取代企業內部的分析專才,
因為『欠缺領域知識(Domain Knowledge)』。
• 企業常常只有老師傅才有辦法『判讀』,
能否把『經驗』轉化成『系統』呢?
• 前期規劃 vs 付諸行動
用
視覺化
看
解讀
變
行動
26
目前關聯式資料庫的極限是幾個欄位?
• 確認了商務需求與產出價值後,下一歩是確認是否需要擁抱巨量資料
• 以下是目前常用的關聯式資料庫欄位寬度限制:
Database Maximum Columns Per table
Oracle 1,000
SQL Server
1,024
columns per nonwide table
30,000
columns per wide table
MySQL 4,096
Java Derby 1,012
[1] https://docs.oracle.com/cd/B28359_01/server.111/b28320/limits003.htm#i288032
[2] https://msdn.microsoft.com/en-us/ms143432.aspx
[3] https://dev.mysql.com/doc/refman/5.6/en/column-count-limit.html
[4] http://docs.oracle.com/javadb/10.8.3.0/ref/rrefdbmlimits.html
27
實測 MySQL – 建立單表 4,000 個整數欄位 <失敗>
• 資料型態、是否允許空值(NULL)、引擎種類均會影響欄位個數
[1] column_limit_4K.sql - https://gist.github.com/601d039c8b754c661220
[2] column_limit_5K.sql - https://gist.github.com/c9e71a2a051ccd4ac418
28
實測 Impala – 建立 5,000 個整數欄位 <成功>
[1] column_limit_4K.sql - https://gist.github.com/601d039c8b754c661220
[2] column_limit_5K.sql - https://gist.github.com/c9e71a2a051ccd4ac418
29
未來如何驗證評測解決方案
• 目前坊間有非常多解決方案,橘子、蘋果該怎麼比較呢?
• 建議使用國際標準:TPC-DS
http://www.tpc.org/tpcds/
30
TPC-DS 定義了評測用的資料表 Schema
[master:21000] > show databases;
Query: show databases
+------------------+
| name |
+------------------+
| _impala_builtins |
| default |
| tpcds |
| tpcds_parquet |
| tpcds_rcfile |
+------------------+
Fetched 5 row(s) in 0.03s
[master:21000] > use tpcds;
Query: use tpcds
[master:21000] > show tables;
Query: show tables
+------------------------+
| name |
+------------------------+
| customer |
| customer_address |
| customer_demographics |
| date_dim |
| household_demographics |
| inventory |
| item |
| promotion |
| store |
| store_sales |
| time_dim |
+------------------------+
Fetched 11 row(s) in 0.01s
31
TPC-DS 也定義了評測用的 SQL 查詢
-- start query 1 in stream 0 using template query27.tpl
select
i_item_id,
s_state,
-- grouping(s_state) g_state,
avg(ss_quantity) agg1,
avg(ss_list_price) agg2,
avg(ss_coupon_amt) agg3,
avg(ss_sales_price) agg4
from
store_sales,
customer_demographics,
date_dim,
store,
item
Where
ss_sold_date_sk = d_date_sk
and ss_item_sk = i_item_sk
and ss_store_sk = s_store_sk
and ss_cdemo_sk = cd_demo_sk
and cd_gender = 'F'
and cd_marital_status = 'W'
and cd_education_status = 'Primary'
and d_year = 1998
and s_state in
('WI', 'CA', 'TX', 'FL', 'WA', 'TN')
and ss_sold_date_sk between 2450815 and 2451179
-- partition key filter
group by
-- rollup (i_item_id, s_state)
i_item_id,
s_state
order by
i_item_id,
s_state
limit 100;
-- end query 1 in stream 0 using template query27.
32
TPC-DS 也有提供產生指定筆數資料的工具
取樣資料表:資料量 3.8G, 文字檔格式, 沒有壓縮, 3 千萬筆資料
[master:21000] > show table stats customer;
Query: show table stats customer
+-------+--------+--------+--------------+--------+-------------------+
| #Rows | #Files | Size | Bytes Cached | Format | Incremental stats |
+-------+--------+--------+--------------+--------+-------------------+
| -1 | 1 | 3.81GB | NOT CACHED | TEXT | false |
+-------+--------+--------+--------------+--------+-------------------+
Fetched 1 row(s) in 0.00s
[master:21000] > select count(*) from customer;
Query: select count(*) from customer
+----------+
| count(*) |
+----------+
| 30000000 |
+----------+
Fetched 1 row(s) in 0.77s
使用相同的資料集與
查詢語句,較容易進行
不同技術的評選
33
Take Away – 今天的分享總結
1. 物聯網的挑戰:
– 具永續特徵的商業模式(金流)
– 挑選合適的數據流
2. RDBMS 與 NoSQL/NewSQL/SQL on Hadoop 各有優勢
想清楚為何需要改用新技術,切忌盲目追趕新技術。
– 您是否遇到太寬、太雜、太慢的問題呢?
– NoSQL/NewSQL/SQL on Hadoop 目前的發展是
把 RDBMS 的組成元件拆解成不同專案
建議聽一下 Rich Hickey 在 HadoopWorld 2012 的 Keynote
https://youtu.be/P-NZei5ANaQ

Mais conteúdo relacionado

Mais procurados

Introduction to K8S Big Data SIG
Introduction to K8S Big Data SIGIntroduction to K8S Big Data SIG
Introduction to K8S Big Data SIGJazz Yao-Tsung Wang
 
Big Data Taiwan 2014 Track1-3: Big Data, Big Challenge — Splunk 幫你解決 Big Data...
Big Data Taiwan 2014 Track1-3: Big Data, Big Challenge — Splunk 幫你解決 Big Data...Big Data Taiwan 2014 Track1-3: Big Data, Big Challenge — Splunk 幫你解決 Big Data...
Big Data Taiwan 2014 Track1-3: Big Data, Big Challenge — Splunk 幫你解決 Big Data...Etu Solution
 
2006-11-16 RFID and OSS for Agriculture
2006-11-16 RFID and OSS for Agriculture2006-11-16 RFID and OSS for Agriculture
2006-11-16 RFID and OSS for AgricultureJazz Yao-Tsung Wang
 
淺談台灣巨量資料產業發展現況
淺談台灣巨量資料產業發展現況淺談台灣巨量資料產業發展現況
淺談台灣巨量資料產業發展現況Jazz Yao-Tsung Wang
 
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告Etu Solution
 
那些你知道的,但還沒看過的 Big Data 風景 ─ 致 Hadooper
那些你知道的,但還沒看過的 Big Data 風景 ─ 致 Hadooper那些你知道的,但還沒看過的 Big Data 風景 ─ 致 Hadooper
那些你知道的,但還沒看過的 Big Data 風景 ─ 致 HadooperFred Chiang
 
Mesos-based Data Infrastructure @ Douban
Mesos-based Data Infrastructure @ DoubanMesos-based Data Infrastructure @ Douban
Mesos-based Data Infrastructure @ DoubanZhong Bo Tian
 
2016-07-12 Introduction to Big Data Platform Security
2016-07-12 Introduction to Big Data Platform Security2016-07-12 Introduction to Big Data Platform Security
2016-07-12 Introduction to Big Data Platform SecurityJazz Yao-Tsung Wang
 
大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術Wei-Yu Chen
 
唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pub唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pubChao Zhu
 
Full Stack Monitoring with Prometheus and Grafana (Updated)
Full Stack Monitoring with Prometheus and Grafana (Updated)Full Stack Monitoring with Prometheus and Grafana (Updated)
Full Stack Monitoring with Prometheus and Grafana (Updated)Jazz Yao-Tsung Wang
 
Hadoop ecosystem - hadoop 生態系
Hadoop ecosystem - hadoop 生態系Hadoop ecosystem - hadoop 生態系
Hadoop ecosystem - hadoop 生態系Wei-Yu Chen
 
Hadoop大数据实践经验
Hadoop大数据实践经验Hadoop大数据实践经验
Hadoop大数据实践经验Schubert Zhang
 

Mais procurados (20)

Introduction to K8S Big Data SIG
Introduction to K8S Big Data SIGIntroduction to K8S Big Data SIG
Introduction to K8S Big Data SIG
 
Big Data Taiwan 2014 Track1-3: Big Data, Big Challenge — Splunk 幫你解決 Big Data...
Big Data Taiwan 2014 Track1-3: Big Data, Big Challenge — Splunk 幫你解決 Big Data...Big Data Taiwan 2014 Track1-3: Big Data, Big Challenge — Splunk 幫你解決 Big Data...
Big Data Taiwan 2014 Track1-3: Big Data, Big Challenge — Splunk 幫你解決 Big Data...
 
When R meet Hadoop
When R meet HadoopWhen R meet Hadoop
When R meet Hadoop
 
大數據
大數據大數據
大數據
 
2006-11-16 RFID and OSS for Agriculture
2006-11-16 RFID and OSS for Agriculture2006-11-16 RFID and OSS for Agriculture
2006-11-16 RFID and OSS for Agriculture
 
淺談台灣巨量資料產業發展現況
淺談台灣巨量資料產業發展現況淺談台灣巨量資料產業發展現況
淺談台灣巨量資料產業發展現況
 
Hadoop 介紹 20141024
Hadoop 介紹 20141024Hadoop 介紹 20141024
Hadoop 介紹 20141024
 
Life of Big Data Technologies
Life of Big Data TechnologiesLife of Big Data Technologies
Life of Big Data Technologies
 
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
 
Data Pipeline Matters
Data Pipeline MattersData Pipeline Matters
Data Pipeline Matters
 
那些你知道的,但還沒看過的 Big Data 風景 ─ 致 Hadooper
那些你知道的,但還沒看過的 Big Data 風景 ─ 致 Hadooper那些你知道的,但還沒看過的 Big Data 風景 ─ 致 Hadooper
那些你知道的,但還沒看過的 Big Data 風景 ─ 致 Hadooper
 
Hadoop.TW : Now and Future
Hadoop.TW : Now and FutureHadoop.TW : Now and Future
Hadoop.TW : Now and Future
 
Mesos-based Data Infrastructure @ Douban
Mesos-based Data Infrastructure @ DoubanMesos-based Data Infrastructure @ Douban
Mesos-based Data Infrastructure @ Douban
 
Enterprise Data Lake in Action
Enterprise Data Lake in ActionEnterprise Data Lake in Action
Enterprise Data Lake in Action
 
2016-07-12 Introduction to Big Data Platform Security
2016-07-12 Introduction to Big Data Platform Security2016-07-12 Introduction to Big Data Platform Security
2016-07-12 Introduction to Big Data Platform Security
 
大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術
 
唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pub唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pub
 
Full Stack Monitoring with Prometheus and Grafana (Updated)
Full Stack Monitoring with Prometheus and Grafana (Updated)Full Stack Monitoring with Prometheus and Grafana (Updated)
Full Stack Monitoring with Prometheus and Grafana (Updated)
 
Hadoop ecosystem - hadoop 生態系
Hadoop ecosystem - hadoop 生態系Hadoop ecosystem - hadoop 生態系
Hadoop ecosystem - hadoop 生態系
 
Hadoop大数据实践经验
Hadoop大数据实践经验Hadoop大数据实践经验
Hadoop大数据实践经验
 

Destaque

從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授
從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授
從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授NTC.im(Notch Training Center)
 
TENSORFLOW深度學習講座講義(很硬的課程) 4/14
TENSORFLOW深度學習講座講義(很硬的課程) 4/14TENSORFLOW深度學習講座講義(很硬的課程) 4/14
TENSORFLOW深度學習講座講義(很硬的課程) 4/14NTC.im(Notch Training Center)
 
NTC_Tensor flow 深度學習快速上手班_Part2 -深度學習
NTC_Tensor flow 深度學習快速上手班_Part2 -深度學習NTC_Tensor flow 深度學習快速上手班_Part2 -深度學習
NTC_Tensor flow 深度學習快速上手班_Part2 -深度學習NTC.im(Notch Training Center)
 
NTC_Tensor flow 深度學習快速上手班_Part1 -機器學習
NTC_Tensor flow 深度學習快速上手班_Part1 -機器學習NTC_Tensor flow 深度學習快速上手班_Part1 -機器學習
NTC_Tensor flow 深度學習快速上手班_Part1 -機器學習NTC.im(Notch Training Center)
 
簡報美學課程分享的資源連結(1/21於鴻海大樓)
簡報美學課程分享的資源連結(1/21於鴻海大樓)簡報美學課程分享的資源連結(1/21於鴻海大樓)
簡報美學課程分享的資源連結(1/21於鴻海大樓)NTC.im(Notch Training Center)
 
NTC_TENSORFLOW深度學習快速上手班_Part3_電腦視覺應用
NTC_TENSORFLOW深度學習快速上手班_Part3_電腦視覺應用NTC_TENSORFLOW深度學習快速上手班_Part3_電腦視覺應用
NTC_TENSORFLOW深度學習快速上手班_Part3_電腦視覺應用NTC.im(Notch Training Center)
 
NTC_Tensor flow 深度學習快速上手班_Part4 -自然語言
NTC_Tensor flow 深度學習快速上手班_Part4 -自然語言NTC_Tensor flow 深度學習快速上手班_Part4 -自然語言
NTC_Tensor flow 深度學習快速上手班_Part4 -自然語言NTC.im(Notch Training Center)
 
[系列活動] 給工程師的統計學及資料分析 123
[系列活動] 給工程師的統計學及資料分析 123[系列活動] 給工程師的統計學及資料分析 123
[系列活動] 給工程師的統計學及資料分析 123台灣資料科學年會
 
[系列活動] Machine Learning 機器學習課程
[系列活動] Machine Learning 機器學習課程[系列活動] Machine Learning 機器學習課程
[系列活動] Machine Learning 機器學習課程台灣資料科學年會
 
[系列活動] 智慧城市中的時空大數據應用
[系列活動] 智慧城市中的時空大數據應用[系列活動] 智慧城市中的時空大數據應用
[系列活動] 智慧城市中的時空大數據應用台灣資料科學年會
 
30 分鐘學會實作 Python Feature Selection
30 分鐘學會實作 Python Feature Selection30 分鐘學會實作 Python Feature Selection
30 分鐘學會實作 Python Feature SelectionJames Huang
 

Destaque (20)

門市銷售預測大數據分析
門市銷售預測大數據分析門市銷售預測大數據分析
門市銷售預測大數據分析
 
從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授
從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授
從Alpha go四勝一敗。看Deep Learning 發展趨勢 - 台大電機系 于天立教授
 
影領風騷 大數據電影娛樂城
影領風騷 大數據電影娛樂城影領風騷 大數據電影娛樂城
影領風騷 大數據電影娛樂城
 
TENSORFLOW深度學習講座講義(很硬的課程) 4/14
TENSORFLOW深度學習講座講義(很硬的課程) 4/14TENSORFLOW深度學習講座講義(很硬的課程) 4/14
TENSORFLOW深度學習講座講義(很硬的課程) 4/14
 
NTC_Tensor flow 深度學習快速上手班_Part2 -深度學習
NTC_Tensor flow 深度學習快速上手班_Part2 -深度學習NTC_Tensor flow 深度學習快速上手班_Part2 -深度學習
NTC_Tensor flow 深度學習快速上手班_Part2 -深度學習
 
展店與汰店的大數據分析技術
展店與汰店的大數據分析技術展店與汰店的大數據分析技術
展店與汰店的大數據分析技術
 
NTC_Tensor flow 深度學習快速上手班_Part1 -機器學習
NTC_Tensor flow 深度學習快速上手班_Part1 -機器學習NTC_Tensor flow 深度學習快速上手班_Part1 -機器學習
NTC_Tensor flow 深度學習快速上手班_Part1 -機器學習
 
TENSORFLOW深度學習講座講義(很硬的課程)
TENSORFLOW深度學習講座講義(很硬的課程)TENSORFLOW深度學習講座講義(很硬的課程)
TENSORFLOW深度學習講座講義(很硬的課程)
 
簡報美學課程分享的資源連結(1/21於鴻海大樓)
簡報美學課程分享的資源連結(1/21於鴻海大樓)簡報美學課程分享的資源連結(1/21於鴻海大樓)
簡報美學課程分享的資源連結(1/21於鴻海大樓)
 
簡報美學(20160121 於鴻海內湖總部)
簡報美學(20160121 於鴻海內湖總部)簡報美學(20160121 於鴻海內湖總部)
簡報美學(20160121 於鴻海內湖總部)
 
一夜臺北~訂房網站的大數據分析
一夜臺北~訂房網站的大數據分析一夜臺北~訂房網站的大數據分析
一夜臺北~訂房網站的大數據分析
 
台灣房地產售價與租價分析
台灣房地產售價與租價分析台灣房地產售價與租價分析
台灣房地產售價與租價分析
 
NTC_TENSORFLOW深度學習快速上手班_Part3_電腦視覺應用
NTC_TENSORFLOW深度學習快速上手班_Part3_電腦視覺應用NTC_TENSORFLOW深度學習快速上手班_Part3_電腦視覺應用
NTC_TENSORFLOW深度學習快速上手班_Part3_電腦視覺應用
 
NTC_Tensor flow 深度學習快速上手班_Part4 -自然語言
NTC_Tensor flow 深度學習快速上手班_Part4 -自然語言NTC_Tensor flow 深度學習快速上手班_Part4 -自然語言
NTC_Tensor flow 深度學習快速上手班_Part4 -自然語言
 
[系列活動] 給工程師的統計學及資料分析 123
[系列活動] 給工程師的統計學及資料分析 123[系列活動] 給工程師的統計學及資料分析 123
[系列活動] 給工程師的統計學及資料分析 123
 
[系列活動] Machine Learning 機器學習課程
[系列活動] Machine Learning 機器學習課程[系列活動] Machine Learning 機器學習課程
[系列活動] Machine Learning 機器學習課程
 
[系列活動] 機器學習速遊
[系列活動] 機器學習速遊[系列活動] 機器學習速遊
[系列活動] 機器學習速遊
 
[系列活動] 智慧城市中的時空大數據應用
[系列活動] 智慧城市中的時空大數據應用[系列活動] 智慧城市中的時空大數據應用
[系列活動] 智慧城市中的時空大數據應用
 
Introduction to HCFS
Introduction to HCFSIntroduction to HCFS
Introduction to HCFS
 
30 分鐘學會實作 Python Feature Selection
30 分鐘學會實作 Python Feature Selection30 分鐘學會實作 Python Feature Selection
30 分鐘學會實作 Python Feature Selection
 

Semelhante a 淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座

Data Analyse Black Horse - ClickHouse
Data Analyse Black Horse - ClickHouseData Analyse Black Horse - ClickHouse
Data Analyse Black Horse - ClickHouseJack Gao
 
Greenplum技术
Greenplum技术Greenplum技术
Greenplum技术锐 张
 
Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里li luo
 
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构  王保平Top100summit前端的云时代支付宝前端平台架构  王保平
Top100summit前端的云时代支付宝前端平台架构 王保平drewz lin
 
Hadoop Big Data 成功案例分享
Hadoop Big Data 成功案例分享Hadoop Big Data 成功案例分享
Hadoop Big Data 成功案例分享Etu Solution
 
淺談台灣巨量資料產業供應鏈串聯現況
淺談台灣巨量資料產業供應鏈串聯現況淺談台灣巨量資料產業供應鏈串聯現況
淺談台灣巨量資料產業供應鏈串聯現況Jazz Yao-Tsung Wang
 
Hadoop con 2015 hadoop enables enterprise data lake
Hadoop con 2015   hadoop enables enterprise data lakeHadoop con 2015   hadoop enables enterprise data lake
Hadoop con 2015 hadoop enables enterprise data lakeJames Chen
 
Distributed Data Analytics at Taobao
Distributed Data Analytics at TaobaoDistributed Data Analytics at Taobao
Distributed Data Analytics at TaobaoMin Zhou
 
How to run an AI Project @pixnet
How to run an AI Project @pixnetHow to run an AI Project @pixnet
How to run an AI Project @pixnet晨揚 施
 
民间秘方
民间秘方民间秘方
民间秘方dynasty
 
Raspberry Pi 數位商品貨架系統
Raspberry Pi 數位商品貨架系統Raspberry Pi 數位商品貨架系統
Raspberry Pi 數位商品貨架系統艾鍗科技
 
Request Management
Request ManagementRequest Management
Request ManagementSun Wei
 
《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdfmarkmind
 
High Throughput Computing Technologies
High Throughput Computing TechnologiesHigh Throughput Computing Technologies
High Throughput Computing TechnologiesJazz Yao-Tsung Wang
 
美团技术沙龙03 - 实时数据仓库解决方案
美团技术沙龙03 - 实时数据仓库解决方案美团技术沙龙03 - 实时数据仓库解决方案
美团技术沙龙03 - 实时数据仓库解决方案美团点评技术团队
 
美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介pan weizeng
 
改善Programmer生活的sql技能
改善Programmer生活的sql技能改善Programmer生活的sql技能
改善Programmer生活的sql技能Rack Lin
 
数据挖掘理论与实践
数据挖掘理论与实践数据挖掘理论与实践
数据挖掘理论与实践medcl
 
Drupal 是好的生財工具嗎?網站標案經驗分享 台灣i運動資訊平台(Drupal as a Cash Cow for Prodution House? ...
Drupal 是好的生財工具嗎?網站標案經驗分享 台灣i運動資訊平台(Drupal as a Cash Cow for Prodution House? ...Drupal 是好的生財工具嗎?網站標案經驗分享 台灣i運動資訊平台(Drupal as a Cash Cow for Prodution House? ...
Drupal 是好的生財工具嗎?網站標案經驗分享 台灣i運動資訊平台(Drupal as a Cash Cow for Prodution House? ...Souyi Yang
 

Semelhante a 淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座 (20)

Data Analyse Black Horse - ClickHouse
Data Analyse Black Horse - ClickHouseData Analyse Black Horse - ClickHouse
Data Analyse Black Horse - ClickHouse
 
Greenplum技术
Greenplum技术Greenplum技术
Greenplum技术
 
Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里
 
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构  王保平Top100summit前端的云时代支付宝前端平台架构  王保平
Top100summit前端的云时代支付宝前端平台架构 王保平
 
Hadoop Big Data 成功案例分享
Hadoop Big Data 成功案例分享Hadoop Big Data 成功案例分享
Hadoop Big Data 成功案例分享
 
淺談台灣巨量資料產業供應鏈串聯現況
淺談台灣巨量資料產業供應鏈串聯現況淺談台灣巨量資料產業供應鏈串聯現況
淺談台灣巨量資料產業供應鏈串聯現況
 
Hadoop con 2015 hadoop enables enterprise data lake
Hadoop con 2015   hadoop enables enterprise data lakeHadoop con 2015   hadoop enables enterprise data lake
Hadoop con 2015 hadoop enables enterprise data lake
 
Distributed Data Analytics at Taobao
Distributed Data Analytics at TaobaoDistributed Data Analytics at Taobao
Distributed Data Analytics at Taobao
 
How to run an AI Project @pixnet
How to run an AI Project @pixnetHow to run an AI Project @pixnet
How to run an AI Project @pixnet
 
民间秘方
民间秘方民间秘方
民间秘方
 
Raspberry Pi 數位商品貨架系統
Raspberry Pi 數位商品貨架系統Raspberry Pi 數位商品貨架系統
Raspberry Pi 數位商品貨架系統
 
Request Management
Request ManagementRequest Management
Request Management
 
《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf《数据库发展研究报告-解读(2023年)》.pdf
《数据库发展研究报告-解读(2023年)》.pdf
 
High Throughput Computing Technologies
High Throughput Computing TechnologiesHigh Throughput Computing Technologies
High Throughput Computing Technologies
 
美团技术沙龙03 - 实时数据仓库解决方案
美团技术沙龙03 - 实时数据仓库解决方案美团技术沙龙03 - 实时数据仓库解决方案
美团技术沙龙03 - 实时数据仓库解决方案
 
42qu thrift1
42qu thrift142qu thrift1
42qu thrift1
 
美团前端架构简介
美团前端架构简介美团前端架构简介
美团前端架构简介
 
改善Programmer生活的sql技能
改善Programmer生活的sql技能改善Programmer生活的sql技能
改善Programmer生活的sql技能
 
数据挖掘理论与实践
数据挖掘理论与实践数据挖掘理论与实践
数据挖掘理论与实践
 
Drupal 是好的生財工具嗎?網站標案經驗分享 台灣i運動資訊平台(Drupal as a Cash Cow for Prodution House? ...
Drupal 是好的生財工具嗎?網站標案經驗分享 台灣i運動資訊平台(Drupal as a Cash Cow for Prodution House? ...Drupal 是好的生財工具嗎?網站標案經驗分享 台灣i運動資訊平台(Drupal as a Cash Cow for Prodution House? ...
Drupal 是好的生財工具嗎?網站標案經驗分享 台灣i運動資訊平台(Drupal as a Cash Cow for Prodution House? ...
 

Mais de NTC.im(Notch Training Center) (7)

A io t_ganalfhuang_day3_2022q1
A io t_ganalfhuang_day3_2022q1A io t_ganalfhuang_day3_2022q1
A io t_ganalfhuang_day3_2022q1
 
A io t_ganalfhuang_day2_2022q1
A io t_ganalfhuang_day2_2022q1A io t_ganalfhuang_day2_2022q1
A io t_ganalfhuang_day2_2022q1
 
A io t_ganalfhuang_day1_2022q1
A io t_ganalfhuang_day1_2022q1A io t_ganalfhuang_day1_2022q1
A io t_ganalfhuang_day1_2022q1
 
粉絲團大數據分析
粉絲團大數據分析粉絲團大數據分析
粉絲團大數據分析
 
小心走 交通大數據
小心走 交通大數據小心走 交通大數據
小心走 交通大數據
 
評品理 影像識別應用
評品理  影像識別應用評品理  影像識別應用
評品理 影像識別應用
 
Make2win 線上課程分析
Make2win 線上課程分析Make2win 線上課程分析
Make2win 線上課程分析
 

淺談物聯網巨量資料挑戰 - Jazz 王耀聰 (2016/3/17 於鴻海內湖) 免費講座

  • 2. About Me • 王耀聰 Jazz Yao-Tsung Wang • Hadoop.TW 共同創辦人 • HadoopCon 社群年會總召 • Hadoop The Definitive Guide 譯者 • Hadoop Operations 譯者 • 自由軟體愛好者 / 推廣者 / 開發者 • http://about.me/jazzwang - slideshare, github, etc. 2
  • 3. 3 Agenda 大綱 • 萬法歸宗:商業模式(金流)、數據流、物流 • 建立生產歷程的常見痛點 – 資料來源雜 – 資料表太寬 – 查詢速度慢 • 導入相關技術的前置行動 – 目前關聯式資料庫的極限是幾個欄位? – 未來如何驗證評測解決方案? 如何產生範例資料集 ?
  • 4. 4 市場上總是充斥著一堆熱門關鍵字 Gartner Hype Cycle 2014 萌芽期 夢幻期 幻滅期 平原期 高原期 Internet of Things Big Data Cloud Computing
  • 5. 5 長江後浪推前浪,前浪死在沙灘上 Gartner Hype Cycle 2015 萌芽期 夢幻期 幻滅期 平原期 高原期 Hybrid Cloud Computing Internet of Things Machine Learning Virtual Reality
  • 7. 7 設計 Data Pipeline 之前的規劃六思考帽 • 問題一:組織想要解決什麼商業問題 ?? ( Value ) 可以用資料解決嗎 ?? ( 降低成本 or 增加收益 ) • 問題二:這些資料哪些是內部資料 ?? 哪些是外部資料?? 該如何獲得 ?? 有哪些型態 ?? ( Variety ) • 問題三:分析這些資料是否合乎法規需求 ?? 有無需要事先聲明的保護條款 ?? ( Legality ) • 問題四:驗證答案真的在這堆資料裡 ?? 資料是否可靠 ?? 需要多少資料才能找到答案 ?? ( Volume , Veracity ) • 問題五:挑選合理的資料處理/分析平台 – 人、流程、技術 定義多快找到答案才能解決商業問題 ( Velocity ) • 問題六:定義效益評量指標 ( 怎麼算 ROI ?? 或 KPI 是什麼 ?? ) 持續改善的時程藍圖 ( Validation , Roadmap ) 7
  • 9. 影片 自訂 Flum e HDFS Map Reduce Hive (Cold) Mobile App 照片 錄音 日誌檔 Log 網頁 HTML 交換檔 XML, Json syslog FTP Scribe Fluentd HBase RDBMS File Input / Output Format FS Shell Web HDFS Thrift Java API DBInput / DBOutput Format Pig Mahout Oozie Impala (Warm) EDW (Hot)RDBMS 資料處理 Processing 資料分析 Analysis Sqoop 生 流 蒐 存 取 算 析 用 看 資料源 網路協定 前處理 儲存方式 存取方式 資料處理 資料分析 視覺化 解讀 變 行動 Engineer (電機) Network (網通) System Admin DBA (資管) Programmer (資工) Analyst (統計) Decision Maker 企業內部的人力資源盤點 People 處理巨量資料的常見流程 Process 處理巨量資料的技術盤點 Technology 導入藍圖 Roadmap 權限管控 (二求安全) 品質管控 (再求更好) 數量管控 (先求可行) 產業先驅位置 @ 2012 產業先驅位置 @ 2015    
  • 10. 10 10 生 流 蒐 存 取 算 析 用 看 資料源 網路協定 前處理 儲存方式 存取方式 資料處理 資料分析 視覺化 解讀 變 行動 佇 濾 串流佇列 串流過濾 靜止的巨量資料 Big Data at Rest 更新頻率較低 可接受批次處理 分鐘到小時 流動的巨量資料 Big Data in Motion 更新頻率很高 Micro Batch “微批次” 毫秒到秒 影片 自訂 Flume HDFS Map Reduce Hive (Cold) Mobile App 照片 錄音 日誌檔 Log 網頁 HTML 交換檔 XML, Json syslog FTP Fluentd HBase Web HDFS Thrift Java API Pig Mahout Oozie Impala (Warm) Sqoop Scribe TCP UDP StarGate HBase CoProcessor logstash Kafka RabbitMQ Spark Streaming Spark MQTT感測器 Sensor 機 器 製 造 的 資 料 人 類 製 造 的 資 料 Spark SQL Shark MLlib GraphX SparkR AMQP JMS D3.js 物聯網的第二個挑戰:挑選合適的數據流
  • 11. 11 Agenda 大綱 • 萬法歸宗:商業模式(金流)、數據流、物流 • 建立生產歷程的常見痛點 – 資料來源雜 – 資料表太寬 – 查詢速度慢 • 導入相關技術的前置行動 – 目前關聯式資料庫的極限是幾個欄位? – 未來如何驗證評測解決方案? 如何產生範例資料集 ?
  • 12. 12 生產機台 1 生產機台 2 生產機台 N ‧ ‧ ‧ 製造執行 MES 生產日誌 資料倉儲 批次 ETL 運算 批次 分析 運算 生產 統計 報表 製程監控 FDC 結構化資料 Structured Data 非結構化資料 Unstructured Data 視覺 檢測 生 資料源 半結構化資料 Semi-structured Data 語法 分析 程式 檢測 紀錄 事件 日誌
  • 13. 13 固定格式的 Log – 耗時等級: 中等 • 通常以純文字格式存在,通常有固定的分隔符號跟欄位定義 • 常見痛點:檔案太大,單機跑太久 • 目前解法:平行切割檔案,平行解析內容 • 常見來源: – Windows Event Log (串流) – 能夠提供標準 Syslog 格式的網路設備 (串流) – XML 交換資料檔 (靜態) – 網頁伺服器 Web Access Log / DNS Access Log • 常用工具: Pig , Perl, Python • 可批次化: 易 59.126.110.102 - - [01/Mar/2015:00:00:00 +0800] "GET /action?;act=view;uid=;pid=0004880654;cat=J,J_007,J_007_009,J_007_009_016;erUid=f05a803a-b641-ebb0- 1fe1-383669dd375; HTTP/1.1" 302 160 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:23.0) Gecko/20100101 Firefox/23.0" 61.228.63.117 - - [01/Mar/2015:00:00:00 +0800] "GET /action?;act=view;uid=;pid=0014166460;cat=L,L_010,L_010_006,L_010_006_016;erUid=c3931c39-87c5-78d4- c7bc-33ef22963491; HTTP/1.1" 302 160 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.76 Safari/537.36" 流 網路協定 蒐 前處理 魔鬼細節
  • 14. 14 自由格式的 TXT – 耗時等級: 高等 • 通常以純文字格式存在,只有區塊定義 • 常見痛點:檔案太多,單機跑太久 • 目前解法:平行分配解析運算到多台 • 常見來源: – 晶片封裝檢測程式產生的日誌檔 – 晶片模擬軟體產生的日誌檔 • 常用工具: Perl, Python + Hadoop Streaming • 可批次化: 難,須注意例外處理 LOTID: XXXXXX PID: YYYYYY MID: ZZZZZZZ DATE: 2015/05/20 TIME:15:47:06 OP: Jazz Wang PROGRAM: TEST-2 FUNC 1 FUNC 2 --------------------------- --------------------------- PIN1,V1,V2,V3,V4 PIN4,V1,V2 PIN2,V1,V2,V3,V4,V5,V6,V7,V8,V9 PIN8,V3,V4,V5,V6,V7,V8 PIN3,V1,V2 PIN3,V3,V5,V8,V7,V6 --------------------------- PIN2,V1,V3,V5 PIN3,V1,V2,V3,V4 流 網路協定 蒐 前處理 魔鬼細節
  • 15. 15 生產機台 1 生產機台 2 生產機台 N ‧ ‧ ‧ 製造執行 MES 生產日誌 資料倉儲 批次 ETL 運算 批次 分析 運算 生產 統計 報表 製程監控 FDC 非結構化資料 Unstructured Data 視覺 檢測 半結構化資料 Semi-structured Data 語法 分析 程式 檢測 紀錄 事件 日誌 存 儲存方式 結構化資料 Structured Data
  • 16. 16 巨量資料時代,企業資料倉儲面臨的挑戰:寬 • 為了能夠做更多分析,需要建立更多連結資料 (Linked Data) • 常見解法: JOIN 成一張更大的表 • 常見痛點: 欄位太寬,資料量太大,寫入太久,單機跑不動 叢集式資料倉儲又太貴 • 問題根源: – 太寬 → 現有資料倉儲是以關聯式資料庫實作,本質上會建議拆成多張表 – 太大 → 關聯式資料庫必須靠 Sharding 來解決資料量的問題 – 太久 → 關聯式資料庫是為了查詢快,所以寫入時要花 CPU 建立索引 • 目前解法: – 入庫即查 ( Schema on Read 解決太寬問題, 不建索引自然寫入快 ) – 平行寫入 ( 分散儲存解決資料量問題, 平行寫入解決寫入太久問題 ) • 常用工具: Hive (SQL-like), HBase (NoSQL) • 未來挑戰: 遞增資料的入庫
  • 17. 17 寬跟慢是一體兩面:能有多寬? 能有多大? 會有多慢? • 快或慢,很主觀。 • 回歸商業問題的需求,再來定義對速度的要求 – 批次 (年/月/週/日) – 近即時 (時/分) – 即時 (秒/毫秒) • 資料集特性: – 總欄位數 = 製程工序數 (column) or 零售商品數 – 總資料量 = 製程工序數 * 資料型態大小 * 生產數量(row) • 請發揮您的想像力: (因為這些我也不知道答案,只能讓各位感受與想像一下) – 如果今天有 3,000 個連線要同時將資料寫入關聯式資料庫 – SQL Client 同時連線數的上限 ?? 需要購買多少授權 ?? – 需要買幾核心的機器呢 ?? 多少記憶體 ?? 該用光纖接 SAN 嗎 ?? – 硬碟寫入速度該有多快 ?? 會不會發生競爭同一顆硬碟的問題 ?? 避 免 落 入 效 能 規 格 戰 爭 產 生 商 業 價 值 才 是 重 點
  • 18. 18 商品1 商品2 商品3 商品4 商品5 商品6 商品7 商品8 商品9 客戶A 金額1 金額1 客戶B 金額2 金額1 客戶C 金額3 金額1 客戶D 金額2 金額4 客戶E 金額3 金額5 金額5 客戶F 金額4 金額6 客戶G 金額5 金額7 客戶H 金額6 金額7 金額8 客戶I 金額8 金額9 客戶J 金額9 金額1 客戶K 金額9 金額2 客戶L 金額3 示意:客戶特徵分析 (原始)
  • 19. 19 商品1 商品2 商品3 商品4 商品5 商品6 商品7 商品8 商品9 客戶A 金額1 金額1 客戶D 金額2 金額4 客戶B 金額2 金額1 客戶E 金額3 金額5 金額5 客戶H 金額6 金額7 金額8 客戶J 金額9 金額1 客戶C 金額3 金額1 客戶F 金額4 金額6 客戶G 金額5 金額7 客戶I 金額8 金額9 客戶K 金額9 金額2 客戶L 金額3 示意:客戶特徵分析 (分群)
  • 20. 20 生產機台 1 生產機台 2 生產機台 N ‧ ‧ ‧ 製造執行 MES 生產日誌 資料倉儲 批次 ETL 運算 批次 分析 運算 生產 統計 報表 製程監控 FDC 非結構化資料 Unstructured Data 視覺 檢測 半結構化資料 Semi-structured Data 語法 分析 程式 檢測 紀錄 事件 日誌 存 結構化資料 Structured Data 取 存取方式 算 資料處理 析 資料分析
  • 21. 21 常見痛點:查詢太慢 • 人與技術: – 通常組織內部是由熟悉 SQL 與統計語言的資料庫管理員 與分析師在進行分析 – 為了解釋現象與原因,會利用 視覺化工具,繪製「管制圖」 方便解讀,產生洞察 • 常見痛點: – 複雜 SQL 查詢執行太久 – 報表反應速度很慢 • 一般解法: – 查詢太久 → (下一頁) – 反應很慢 → 預處理 (先建好要查的資料表) DBA (資管) Analyst (統計) select i_item_id, s_state, avg(ss_quantity) agg1, avg(ss_list_price) agg2, avg(ss_coupon_amt) agg3, avg(ss_sales_price) agg4 from store_sales, customer_demographics, date_dim, store, item Where ss_sold_date_sk = d_date_sk and ss_item_sk = i_item_sk and ss_store_sk = s_store_sk and ss_cdemo_sk = cd_demo_sk and cd_gender = 'F' and cd_marital_status = 'W' and cd_education_status = 'Primary' and d_year = 1998 and s_state in ('WI', 'CA', 'TX', 'FL', 'WA', 'TN') and ss_sold_date_sk between 2450815 and 2451179 group by i_item_id, s_state order by i_item_id, s_state limit 100; 取 存取方式 算 資料處理
  • 22. 22 痛點:查詢太慢,那怎麼找止痛藥呢? • 進階解法: – 查詢平行執行 ( SQL Execution Plan 平行化分配到不同節點運算 ) – 用記憶體加速 ( In Memory Database ) – 資料結構最佳化 ( 善用 Partition, 改用 Parquet 格式, 線性壓縮 ) – 查詢語句最佳化 ( 觀察 SQL Execution Plan , 調整系統參數 ) • 常用工具: – 互動式查詢:Impala ( In-Memory Database, SQL-92 Ad-Hot Query ) – 大範圍查表:HBase ( In-Memory Datastore , 只有 PUT/GET/SCAN) – 大範圍分析:Hive ( Batch, 數分到數天, SQL-92 ) • 標準介面: ODBC / JDBC • 潛在挑戰: SQL 語句的移轉 取 存取方式 算 資料處理
  • 23. 23 痛點:分析太慢,那止痛藥呢? • 新興需求:多變量分析、機器學習 – 分析方法通常會使用到機器學習的工具, 如:降維(PCA/SVD)、分群(K-Mean)等 – 若考量人與技術:統計軟體 R 與 SQL 仍是主流 • 常見痛點: – 單機記憶體不足、運算時間太久、讀取資料太慢 • 目前解法: – 不足 → 平行運算 ( 拆解資料,將運算平行化分配到不同節點 ) – 太久 → 善用記憶體加速 ( In Memory Computing ) – 太慢 → 平行讀寫 ( 有迭代特性的演算法, 盡量減少中間產物 ) • 常用工具: – 批次機器學習: Mahout ( Batch ) – 機器學習函式庫: Spark MLlib ( In-Memory Computing , RDD) 析 資料分析
  • 24. 24 Agenda 大綱 • 萬法歸宗:商業模式(金流)、數據流、物流 • 建立生產歷程的常見痛點 – 資料來源雜 – 資料表太寬 – 查詢速度慢 • 導入相關技術的前置行動 – 目前關聯式資料庫的極限是幾個欄位? – 未來如何驗證評測解決方案? 如何產生範例資料集 ?
  • 25. 25 企業無法外包的部分:用、看、變 • 資訊服務業通常熟悉技術,也有具備對應的技術人才 然而很難取代企業內部的分析專才, 因為『欠缺領域知識(Domain Knowledge)』。 • 企業常常只有老師傅才有辦法『判讀』, 能否把『經驗』轉化成『系統』呢? • 前期規劃 vs 付諸行動 用 視覺化 看 解讀 變 行動
  • 26. 26 目前關聯式資料庫的極限是幾個欄位? • 確認了商務需求與產出價值後,下一歩是確認是否需要擁抱巨量資料 • 以下是目前常用的關聯式資料庫欄位寬度限制: Database Maximum Columns Per table Oracle 1,000 SQL Server 1,024 columns per nonwide table 30,000 columns per wide table MySQL 4,096 Java Derby 1,012 [1] https://docs.oracle.com/cd/B28359_01/server.111/b28320/limits003.htm#i288032 [2] https://msdn.microsoft.com/en-us/ms143432.aspx [3] https://dev.mysql.com/doc/refman/5.6/en/column-count-limit.html [4] http://docs.oracle.com/javadb/10.8.3.0/ref/rrefdbmlimits.html
  • 27. 27 實測 MySQL – 建立單表 4,000 個整數欄位 <失敗> • 資料型態、是否允許空值(NULL)、引擎種類均會影響欄位個數 [1] column_limit_4K.sql - https://gist.github.com/601d039c8b754c661220 [2] column_limit_5K.sql - https://gist.github.com/c9e71a2a051ccd4ac418
  • 28. 28 實測 Impala – 建立 5,000 個整數欄位 <成功> [1] column_limit_4K.sql - https://gist.github.com/601d039c8b754c661220 [2] column_limit_5K.sql - https://gist.github.com/c9e71a2a051ccd4ac418
  • 30. 30 TPC-DS 定義了評測用的資料表 Schema [master:21000] > show databases; Query: show databases +------------------+ | name | +------------------+ | _impala_builtins | | default | | tpcds | | tpcds_parquet | | tpcds_rcfile | +------------------+ Fetched 5 row(s) in 0.03s [master:21000] > use tpcds; Query: use tpcds [master:21000] > show tables; Query: show tables +------------------------+ | name | +------------------------+ | customer | | customer_address | | customer_demographics | | date_dim | | household_demographics | | inventory | | item | | promotion | | store | | store_sales | | time_dim | +------------------------+ Fetched 11 row(s) in 0.01s
  • 31. 31 TPC-DS 也定義了評測用的 SQL 查詢 -- start query 1 in stream 0 using template query27.tpl select i_item_id, s_state, -- grouping(s_state) g_state, avg(ss_quantity) agg1, avg(ss_list_price) agg2, avg(ss_coupon_amt) agg3, avg(ss_sales_price) agg4 from store_sales, customer_demographics, date_dim, store, item Where ss_sold_date_sk = d_date_sk and ss_item_sk = i_item_sk and ss_store_sk = s_store_sk and ss_cdemo_sk = cd_demo_sk and cd_gender = 'F' and cd_marital_status = 'W' and cd_education_status = 'Primary' and d_year = 1998 and s_state in ('WI', 'CA', 'TX', 'FL', 'WA', 'TN') and ss_sold_date_sk between 2450815 and 2451179 -- partition key filter group by -- rollup (i_item_id, s_state) i_item_id, s_state order by i_item_id, s_state limit 100; -- end query 1 in stream 0 using template query27.
  • 32. 32 TPC-DS 也有提供產生指定筆數資料的工具 取樣資料表:資料量 3.8G, 文字檔格式, 沒有壓縮, 3 千萬筆資料 [master:21000] > show table stats customer; Query: show table stats customer +-------+--------+--------+--------------+--------+-------------------+ | #Rows | #Files | Size | Bytes Cached | Format | Incremental stats | +-------+--------+--------+--------------+--------+-------------------+ | -1 | 1 | 3.81GB | NOT CACHED | TEXT | false | +-------+--------+--------+--------------+--------+-------------------+ Fetched 1 row(s) in 0.00s [master:21000] > select count(*) from customer; Query: select count(*) from customer +----------+ | count(*) | +----------+ | 30000000 | +----------+ Fetched 1 row(s) in 0.77s 使用相同的資料集與 查詢語句,較容易進行 不同技術的評選
  • 33. 33 Take Away – 今天的分享總結 1. 物聯網的挑戰: – 具永續特徵的商業模式(金流) – 挑選合適的數據流 2. RDBMS 與 NoSQL/NewSQL/SQL on Hadoop 各有優勢 想清楚為何需要改用新技術,切忌盲目追趕新技術。 – 您是否遇到太寬、太雜、太慢的問題呢? – NoSQL/NewSQL/SQL on Hadoop 目前的發展是 把 RDBMS 的組成元件拆解成不同專案 建議聽一下 Rich Hickey 在 HadoopWorld 2012 的 Keynote https://youtu.be/P-NZei5ANaQ