SlideShare a Scribd company logo
1 of 46
Hadoop Enables
Enterprise Data Lake
James Chen
CTO, Etu Corp.
September 19, 2015
2
Agenda 大綱
•  EDW 的現況與挑戰
•  何謂 Enterprise Data Lake (EDL)
•  EDL 需要具有哪些特性
•  演化中的 Hadoop 生態系
•  Hadoop 生態系如何實現Enterprise Data Lake
•  Take Away
3
邁向數據驅動的企業
現狀
Bring Data to Compute
未來
Bring Compute to Data
Relative size  complexity
Data
Information-centric
businesses use all data:
Multi-structured,
internal  external data
of all types
Compute
Compute
Compute
Process-centric
businesses use:
• Structured data mainly
• Internal data only
• “Important” data only
Compute
Compute
Compute
Data
Data
Data
Data
4
EDW 現況與挑戰
ERP, CRM, RDBMS, Machines Files, Images, Video, Logs, Clickstreams External Data Sources
Data ArchivesEDWs Marts SearchServers Document Stores Storage
Complex Architecture
•  Many special-purpose
systems
•  Moving data around
•  No complete views
Visibility
•  Leaving data behind
•  Risk and compliance
•  High cost of storage
Time to Data
•  Up-front modeling
•  Transforms slow
•  Transforms lose data
Cost of Analytics
•  Existing systems strained
•  No agility
•  BI backlog
4
1
2
3
5
何謂 Enterprise Data Lake
•  A Data lake is a large storage repository that holds
data until it is needed”
•  Put an end to data silos
•  Hadoop allows to hold data in their original native
format rather than forcing integration of large
volumes of data up front.
https://en.wikipedia.org/wiki/Data_lake
6
EDWs
Marts
Storage
Search
Servers
Documents
Archives
ERP, CRM, RDBMS, Machines Files, Images, Video, Logs, Clickstreams External Data Sources
Multi-workload analytic platform
•  Bring applications to data
•  Combine different workloads on
common data (i.e. SQL + Search)
•  True BI agility
4
1	
  
3	
  4	
  
Data Lake is a reference architecture
Active archive
•  Full fidelity original data
•  Indefinite time, any source
•  Lowest cost storage
1
Data management,
transformations
•  One source of data for all analytics
•  Persisted state of transformed data
•  Significantly faster  cheaper
2
Self-service exploratory BI
•  Simple search + BI tools
•  “Schema on read” agility
•  Reduce BI user backlog
requests Big Data
Platform
3
1	
  
2	
  
7
EDL 需要具有哪些特性
•  結構化與非結構化資料儲存與處理能力
•  Schema-On-Read 分析與查詢能力
異質資料處理能力
•  運算與儲存一體
•  水平擴充節點,儲存容量與運算能力同步擴充
可水平擴展的架構
•  分散式檔案系統與 NoSQL 資料庫
•  MapReduce平行運算與分散式SQL查詢引擎兼具
•  整合既有分析工具與資料庫的能力
開放彈性的軟體生態系
8
演化中的 Hadoop 生態系
HDFS
MapReduce
HBase
Pig
Hive
Mahout
Search
Impala
Spark
Streaming
Developer’s Toy
DB Guy can use it
Data Scientist’s Playground
9
Hadoop  Spark
YARN (Resource Management)
Spark on YARN
Spark
Streaming
GraphX MLlib
HDFS, Hbase (Data Store)
HivePig
Impala
MapReduce2
SparkSQL
Search
Core Hadoop
Support Spark compon
Not support yet add-on
10
Cloudera is a member of, and aligned with, the broader Spark
community
Spark:
•  Will replace MapReduce as the general purpose Hadoop
framework
–  Broad community and vendor adoption
–  Hadoop ecosystem integration (native  3rd party)
•  Goes beyond data science/machine learning
–  Cloudera working on Spark Core, Streaming, Security,
YARN, and MLlib
•  Does not replace special purpose frameworks
–  One size does not fit all for SQL, Search, Graph, Stream
Cloudera’s Position on Spark
11
Spark Engineering in Cloudera
•  Cloudera embraced Spark in early 2014
•  One Platform Initiative (Mike’s Blog)
•  Engineering with Intel to broaden Spark
ecosystem
–  Hive-on-Spark
–  Pig-on-Spark
–  Spark-over-YARN
–  Spark Streaming Reliability
–  General Spark Optimization
–  Security, Compliance  Audit
12
Hive on Spark
•  Technology
–  Hive: “standard” SQL tool in Hadoop
–  Spark: next-gen distributed processing
framework
–  Hive + Spark
•  Performance
•  Minimum feature gap
•  Industry
–  A lot of customers heavily invest in Hive
–  Want to leverage the Spark engine
13
Design Principles
•  No or limited impact on Hive’s existing code path
•  Maximize code reuse
•  Minimum feature customization
•  Low future maintenance cost
14
Class Hierarchy
TaskCompiler
MapRedCompiler
 TezCompiler
Task
 Work
MapRedTask
 TezTask
 TezWork
MapRedWork
SparkCompiler
 SparkTask
 SparkWork
generates
 described by
15
Current Status
•  All functionality in Hive is implemented
•  First round of optimization is completed
–  Map join, SMB
–  Split generation and grouping
–  CBO, vectorization
•  More optimization and benchmarking coming
•  Beta in CDH
–  https://issues.apache.org/jira/browse/HIVE-7292
16
•  Data Lake Building Blocks
•  建立 Data Lake 的常見痛點
–  資料來源雜
–  資料表太寬
–  查詢速度慢
•  導入 Data Lake 的前置行動
–  目前關聯式資料庫的極限是幾個欄位?
–  未來如何驗證評測解決方案? 如何產生範例資料集 ?
Hadoop 生態系如何實現 EDL
17
Hadoop Cluster
HDFS
MapReduce/Spark
Traditional
EDW
ETL
Hive
Batch
HBase
NoSQL
Impala
Ad-hoc
Un-structure
Structure
LoB
Data
LoB
Data ETL
ETL
Query
 Traditional BI
Discovery 
Prototyping 
Ad-Hoc
Query
Reporting
Ad-Hoc
Query
Reporting
Data Lake Building Blocks
18
Components of the Data Lake
•  Process Tools
•  Hive: SQL like query and analysis
•  Pig: Transformation for big data
•  Sqoop: Extracts external source and load to Hadoop
•  MR/Spark: General-purpose cluster computing
framework
•  Spark-Stream: On-the-fly ETL
•  NoSQL
•  HBase
•  Search
•  Log Streaming
•  Kafka/Scribe
•  Flume
•  Fluentd
•  Language
•  Python/Java/R/Scala
19
權限管控
(二求安全)
品質管控
(再求更好)
數量管控
(先求可行)
導入藍圖
Roadmap
企業內部的人力資源盤點
People
處理巨量資料的常見流程
Process
處理巨量資料的技術盤點
Technology
Enterprise Data Lake in One Page
20
生
 流
 蒐
 存
 取
 算
 析
 用
 看
資料源
 網路協定
 前處理
 儲存方式
 存取方式
 資料處理
 資料分析
 視覺化
 解讀
影片
自訂
Flume
HDFS
Map
Reduce
Hive
Mobile
App
照片
錄音
日誌檔
Log
網頁
HTML
交換檔
XML,
Json
syslog
FTP
Kafka
Fluentd
 HBase
RDBMS
File
Input /
Output 
Format 
FS
Shell
Web
HDFS
Thrift
Java
API
DBInput /
DBOutput
Format
Pig
Mahout
Oozie
EDW
RDBMS
資料處理 Processing
 資料分析 Analysis
Sqoop
Engineer
(電機)
Network
(網通)
System
Admin
DBA
(資管)
Programmer
(資工)
Analyst
(統計)
變
行動
Decision
Maker
Impala
21
Etu Manager 為企業建構 Etu Data Lake
Etu Data Lake 能快速處理大量
資料集,無需建立廣泛的資料模
型。使用者從單一資料樞紐,能
便捷的搜尋和探索各式結構化和
非結構化資料,以及內部和外部
的資料來源。
巨量資料可透過批次、近即時或
即時處理匯入,不受限於原始結
構(schema) 設計,之後也可再
匯入企業其他資料倉儲系統,讓
企業的資料探索和運用增加高度
彈性,真正達到資料的隨需應用,
產生更敏捷的商業決策。
22
•  建立 Data Lake 的常見痛點
–  資料來源雜
–  資料表太寬
–  查詢速度慢
•  導入 Data Lake 的前置行動
–  目前關聯式資料庫的極限是幾個欄位?
–  未來如何驗證評測解決方案? 如何產生範例資料集 ?
Hadoop 生態系如何實現 EDL
23
生產機台 1
生產機台 2
生產機台 N
‧‧
‧
製造執行
MES
生產日誌
資料倉儲
批次
ETL
運算
批次
分析
運算

生產
統計
報表
製程監控
FDC
結構化資料
Structured Data
非結構化資料
Unstructured Data
視覺
檢測
生
資料源
半結構化資料
Semi-structured Data
語法
分析
程式
檢測
紀錄
事件
日誌
24
固定格式的 Log – 耗時等級: 中等
•  通常以純文字格式存在,通常有固定的分隔符號跟欄位定義
•  常見痛點:檔案太大,單機跑太久
•  目前解法:平行切割檔案,平行解析內容
•  常見來源:
–  Windows Event Log (串流)
–  能夠提供標準 Syslog 格式的網路設備 (串流)
–  XML 交換資料檔 (靜態)
–  網頁伺服器 Web Access Log / DNS Access Log
•  常用工具: Pig , Hadoop Streaming
•  可批次化: 易
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
流
網路協定
蒐
前處理
魔鬼細節
25
自由格式的 TXT – 耗時等級: 高等
•  通常以純文字格式存在,只有區塊定義
•  常見痛點:檔案太多,單機跑太久
•  目前解法:平行分配解析運算到多台
•  常見來源:
–  晶片封裝檢測程式產生的日誌檔
–  晶片模擬軟體產生的日誌檔
•  常用工具: Perl, Python + Hadoop Streaming
•  可批次化: 難,須注意例外處理
LOTID: XXXXXX PID: YYYYYY MID: ZZZZZZZ
DATE: 2015/05/20TIME: 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
流
網路協定
蒐
前處理
魔鬼細節
26
生產機台 1
生產機台 2
生產機台 N
‧
‧
‧
製造執行
MES
生產日誌
資料倉儲
批次
ETL
運算
批次
分析
運算

生產
統計
報表
製程監控
FDC
非結構化資料
Unstructured Data
視覺
檢測
半結構化資料
Semi-structured Data
語法
分析
程式
檢測
紀錄
事件
日誌
存
儲存方式
結構化資料
Structured Data
27
巨量資料時代,企業資料倉儲面臨的挑戰:寬
•  為了能夠做更多分析,需要建立更多連結資料 (Linked Data)
•  常見解法: JOIN 成一張更大的表
•  常見痛點: 欄位太寬,資料量太大,寫入太久,單機跑不動
     叢集式資料倉儲又太貴
•  問題根源:
–  太寬 → 現有資料倉儲是以關聯式資料庫實作,本質上會建議拆成多張表
–  太大 → 關聯式資料庫必須靠 Sharding 來解決資料量的問題
–  太久 → 關聯式資料庫是為了查詢快,所以寫入時要花 CPU 建立索引
•  目前解法:
–  入庫即查 ( Schema on Read 解決太寬問題, 不建索引自然寫入快 )
–  平行寫入 ( 分散儲存解決資料量問題, 平行寫入解決寫入太久問題 )
•  常用工具: Hive (SQL-like), HBase (NoSQL), Impala
•  未來挑戰: 遞增資料的入庫
28
寬跟慢是一體兩面:能有多寬? 能有多大? 會有
多慢?
•  快或慢,很主觀。
•  回歸商業問題的需求,再來定義對速度的要求
–  批次 (年/月/週/日) – 近即時 (時/分) – 即時 (秒/毫秒)
•  資料集特性:
–  總欄位數 = 製程工序數 (column) or 零售商品數
–  總資料量 = 製程工序數 * 資料型態大小 * 生產數量(row)
•  請發揮您的想像力: (因為這些我也不知道答案,只能讓各位感受與想像一下)
–  如果今天有 3,000 個連線要同時將資料寫入關聯式資料庫
–  SQL Client 同時連線數的上限 ?? 需要購買多少授權 ??
–  需要買幾核心的機器呢 ?? 多少記憶體 ?? 該用光纖接 SAN 嗎 ??
–  硬碟寫入速度該有多快 ?? 會不會發生競爭同一顆硬碟的問題 ??
避
免
落
入
效
能
規
格
戰
爭
產
生
商
業
價
值
才
是
重
點
29
商品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
示意:客戶特徵分析 (原始)
30
商品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
示意:客戶特徵分析 (分群)
31
生產機台 1
生產機台 2
生產機台 N
‧
‧
‧
製造執行
MES
生產日誌
資料倉儲
批次
ETL
運算
批次
分析
運算

生產
統計
報表
製程監控
FDC
非結構化資料
Unstructured Data
視覺
檢測
半結構化資料
Semi-structured Data
語法
分析
程式
檢測
紀錄
事件
日誌
存
結構化資料
Structured Data
取
存取方式
算
資料處理
析
資料分析
32
常見痛點:查詢太慢
•  人與技術:
–  通常組織內部是由熟悉 SQL
與統計語言的資料庫管理員
與分析師在進行分析
–  為了解釋現象與原因,會利用
視覺化工具,繪製「管制圖」
方便解讀,產生洞察
•  常見痛點:
–  複雜 SQL 查詢執行太久
–  報表反應速度很慢
•  一般解法:
–  查詢太久 → (下一頁)
–  反應很慢 → 預處理
(先建好要查的資料表)
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;
取
存取方式
算
資料處理
33
痛點:查詢太慢,那怎麼找止痛藥呢?
•  進階解法:
–  查詢平行執行 ( 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 語句的移轉
取
存取方式
算
資料處理
34
痛點:分析太慢,那止痛藥呢?
•  新興需求:多變量分析、機器學習
–  分析方法通常會使用到機器學習的工具,
如:降維(PCA/SVD)、分群(K-Mean)等
–  若考量人與技術:統計軟體 R 與 SQL 仍是主流
•  常見痛點:
–  單機記憶體不足、運算時間太久、讀取資料太慢
•  目前解法:
–  不足 → 平行運算 ( 拆解資料,將運算平行化分配到不同節點 )
–  太久 → 善用記憶體加速 ( In Memory Computing )
–  太慢 → 平行讀寫 ( 有迭代特性的演算法, 盡量減少中間產物 )
•  常用工具:
–  批次機器學習: Mahout ( Batch )
–  機器學習函式庫: Spark MLlib ( In-Memory Computing , RDD)
析
資料分析
35
•  建立 Data Lake 的常見痛點
–  資料來源雜
–  資料表太寬
–  查詢速度慢
•  導⼊入 Data Lake 的前置⾏行動
–  目前關聯式資料庫的極限是幾個欄位?
–  未來如何驗證評測解決方案? 如何產生範例資料集 ?
Hadoop 生態系如何實現 EDL
36
企業無法外包的部分:用、看、變
•  資訊服務業通常熟悉技術,也有具備對應的技術人才
然而很難取代企業內部的分析專才,
因為『欠缺領域知識(Domain Knowledge)』。
•  企業常常只有老師傅才有辦法『判讀』,
能否把『經驗』轉化成『系統』呢?
•  前期規劃 vs 付諸行動
用
視覺化
看
解讀
變
行動
37
目前關聯式資料庫的極限是幾個欄位?
•  確認了商務需求與產出價值後,下一歩是確認是否需要擁抱巨量資料
•  以下是目前常用的關聯式資料庫欄位寬度限制:
Database
 Maximum Columns Per table
Oracle
 1,000
SQL Server
1,024
columns per non-wide 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
38
MySQL – 建立單表 4,000 個整數欄位 失敗
•  資料型態、是否允許空值(NULL)、引擎種類均會影響欄位個數
[1] column_limit_4K.sql - https://gist.github.com/601d039c8b754c661220
[2] column_limit_5K.sql - https://gist.github.com/c9e71a2a051ccd4ac418
39
實測 Impala – 建立 5,000 個整數欄位 成功
[1] column_limit_4K.sql - https://gist.github.com/601d039c8b754c661220
[2] column_limit_5K.sql - https://gist.github.com/c9e71a2a051ccd4ac418
40
驗證評測解決方案
•  目前坊間有非常多解決方案,橘子、蘋果該怎麼比較呢?
•  建議使用國際標準:TPC-DS
http://www.tpc.org/tpcds/
41
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	
  
42
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	
  2451
	
  	
  -­‐-­‐	
  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	
  quer
43
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	
  
使用相同的資料集與
查詢語句,較容易進行
不同技術的評選
44
Take Away – 今天的分享總結
1.  規劃心法:People、Process、Technology、Roadmap
2.  Etu Data Lake 協助企業補完導入企業巨量資料時
People 與 Technology 的缺口。
3.  Etu 是企業導入巨量資料的最佳夥伴
–  顧問服務:導入前的資訊架構規劃、ROI 評估
–  教育訓練:補充內部人才的技術能量
–  解決方案:從產品到不同領域的解決方案,跟客戶一同成長
–  技術支援:到府安裝、設定、調校,專案開發等
生
 流
 蒐
 存
 取
 算
 析
 用
 看
資料源
 網路協定
 前處理
 儲存方式
 存取方式
 資料處理
 資料分析
 視覺化
 解讀
變
行動
45
Q  A
生
 流
 蒐
 存
 取
 算
 析
 用
 看
資料源
 網路協定
 前處理
 儲存方式
 存取方式
 資料處理
 資料分析
 視覺化
 解讀
影片
自訂
Flume
HDFS
Map
Reduce
Hive
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
EDW
RDBMS
資料處理 Processing
 資料分析 Analysis
Sqoop
Engineer
(電機)
Network
(網通)
System
Admin
DBA
(資管)
Programmer
(資工)
Analyst
(統計)
變
行動
Decision
Maker
Impala
http://www.etusolution.com
info@etusolution.com
Taipei, Taiwan
8F, 318, Rueiguang Rd., Taipei 114, Taiwan
T: +886 2 8798 6088
F: +886 2 8798 7139
Contact

More Related Content

What's hot

Big Data Projet Management the Body of Knowledge (BDPMBOK)
Big Data Projet Management the Body of Knowledge (BDPMBOK)Big Data Projet Management the Body of Knowledge (BDPMBOK)
Big Data Projet Management the Body of Knowledge (BDPMBOK)Jazz Yao-Tsung Wang
 
数据科学分析协作平台CDSW
数据科学分析协作平台CDSW数据科学分析协作平台CDSW
数据科学分析协作平台CDSWJianwei Li
 
Azure HDInsight 介紹
Azure HDInsight 介紹Azure HDInsight 介紹
Azure HDInsight 介紹Herman Wu
 
Oracle db 12c 加速企业转型之十大功能
Oracle db 12c 加速企业转型之十大功能Oracle db 12c 加速企业转型之十大功能
Oracle db 12c 加速企业转型之十大功能Ethan M. Liu
 
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
 
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告Etu Solution
 
Mesos-based Data Infrastructure @ Douban
Mesos-based Data Infrastructure @ DoubanMesos-based Data Infrastructure @ Douban
Mesos-based Data Infrastructure @ DoubanZhong Bo Tian
 
俞晨杰:Linked in大数据应用和azkaban
俞晨杰:Linked in大数据应用和azkaban俞晨杰:Linked in大数据应用和azkaban
俞晨杰:Linked in大数据应用和azkabanhdhappy001
 
唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pub唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pubChao Zhu
 
Hadoop大数据实践经验
Hadoop大数据实践经验Hadoop大数据实践经验
Hadoop大数据实践经验Schubert Zhang
 
選擇正確的Solution 來建置現代化的雲端資料倉儲
選擇正確的Solution 來建置現代化的雲端資料倉儲選擇正確的Solution 來建置現代化的雲端資料倉儲
選擇正確的Solution 來建置現代化的雲端資料倉儲Herman Wu
 
COSCUP 2019 - 開源大數據引擎 Greenplum
COSCUP 2019 - 開源大數據引擎 GreenplumCOSCUP 2019 - 開源大數據引擎 Greenplum
COSCUP 2019 - 開源大數據引擎 GreenplumOmni-Alex Chen
 
翟艳堂:腾讯大规模Hadoop集群实践
翟艳堂:腾讯大规模Hadoop集群实践翟艳堂:腾讯大规模Hadoop集群实践
翟艳堂:腾讯大规模Hadoop集群实践hdhappy001
 
Greenplum: A Bigdata Platform
Greenplum: A Bigdata PlatformGreenplum: A Bigdata Platform
Greenplum: A Bigdata PlatformYandong Yao
 
Hadoop 生態系十年回顧與未來展望
Hadoop 生態系十年回顧與未來展望Hadoop 生態系十年回顧與未來展望
Hadoop 生態系十年回顧與未來展望Jazz Yao-Tsung Wang
 
吕潇 星环科技大数据技术探索与应用实践
吕潇 星环科技大数据技术探索与应用实践吕潇 星环科技大数据技术探索与应用实践
吕潇 星环科技大数据技术探索与应用实践jins0618
 

What's hot (20)

Big Data Projet Management the Body of Knowledge (BDPMBOK)
Big Data Projet Management the Body of Knowledge (BDPMBOK)Big Data Projet Management the Body of Knowledge (BDPMBOK)
Big Data Projet Management the Body of Knowledge (BDPMBOK)
 
数据科学分析协作平台CDSW
数据科学分析协作平台CDSW数据科学分析协作平台CDSW
数据科学分析协作平台CDSW
 
Azure HDInsight 介紹
Azure HDInsight 介紹Azure HDInsight 介紹
Azure HDInsight 介紹
 
Oracle db 12c 加速企业转型之十大功能
Oracle db 12c 加速企业转型之十大功能Oracle db 12c 加速企业转型之十大功能
Oracle db 12c 加速企业转型之十大功能
 
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
 
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
Track A-1: Cloudera 大數據產品和技術最前沿資訊報告
 
Mesos-based Data Infrastructure @ Douban
Mesos-based Data Infrastructure @ DoubanMesos-based Data Infrastructure @ Douban
Mesos-based Data Infrastructure @ Douban
 
大數據
大數據大數據
大數據
 
俞晨杰:Linked in大数据应用和azkaban
俞晨杰:Linked in大数据应用和azkaban俞晨杰:Linked in大数据应用和azkaban
俞晨杰:Linked in大数据应用和azkaban
 
唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pub唯品会大数据实践 Sacc pub
唯品会大数据实践 Sacc pub
 
Hadoop大数据实践经验
Hadoop大数据实践经验Hadoop大数据实践经验
Hadoop大数据实践经验
 
選擇正確的Solution 來建置現代化的雲端資料倉儲
選擇正確的Solution 來建置現代化的雲端資料倉儲選擇正確的Solution 來建置現代化的雲端資料倉儲
選擇正確的Solution 來建置現代化的雲端資料倉儲
 
COSCUP 2019 - 開源大數據引擎 Greenplum
COSCUP 2019 - 開源大數據引擎 GreenplumCOSCUP 2019 - 開源大數據引擎 Greenplum
COSCUP 2019 - 開源大數據引擎 Greenplum
 
Spark tutorial
Spark tutorialSpark tutorial
Spark tutorial
 
翟艳堂:腾讯大规模Hadoop集群实践
翟艳堂:腾讯大规模Hadoop集群实践翟艳堂:腾讯大规模Hadoop集群实践
翟艳堂:腾讯大规模Hadoop集群实践
 
Greenplum: A Bigdata Platform
Greenplum: A Bigdata PlatformGreenplum: A Bigdata Platform
Greenplum: A Bigdata Platform
 
Hadoop 生態系十年回顧與未來展望
Hadoop 生態系十年回顧與未來展望Hadoop 生態系十年回顧與未來展望
Hadoop 生態系十年回顧與未來展望
 
Life of Big Data Technologies
Life of Big Data TechnologiesLife of Big Data Technologies
Life of Big Data Technologies
 
Hadoop.TW : Now and Future
Hadoop.TW : Now and FutureHadoop.TW : Now and Future
Hadoop.TW : Now and Future
 
吕潇 星环科技大数据技术探索与应用实践
吕潇 星环科技大数据技术探索与应用实践吕潇 星环科技大数据技术探索与应用实践
吕潇 星环科技大数据技术探索与应用实践
 

Viewers also liked

Big data architectures and the data lake
Big data architectures and the data lakeBig data architectures and the data lake
Big data architectures and the data lakeJames Serra
 
GeekNight 22.0 Multi-paradigm programming in Scala and Akka
GeekNight 22.0 Multi-paradigm programming in Scala and AkkaGeekNight 22.0 Multi-paradigm programming in Scala and Akka
GeekNight 22.0 Multi-paradigm programming in Scala and AkkaGeekNightHyderabad
 
Making the Case for Hadoop in a Large Enterprise-British Airways
Making the Case for Hadoop in a Large Enterprise-British AirwaysMaking the Case for Hadoop in a Large Enterprise-British Airways
Making the Case for Hadoop in a Large Enterprise-British AirwaysDataWorks Summit
 
Hadoop: Making it work for the Business Unit
Hadoop: Making it work for the Business UnitHadoop: Making it work for the Business Unit
Hadoop: Making it work for the Business UnitDataWorks Summit
 
Talend winter 2017 overview webinar
Talend winter 2017 overview webinarTalend winter 2017 overview webinar
Talend winter 2017 overview webinarJean-Michel Franco
 
Présentation de Talend Winter 2017
Présentation de Talend Winter 2017 Présentation de Talend Winter 2017
Présentation de Talend Winter 2017 Jean-Michel Franco
 
Hadoop Architecture Options for Existing Enterprise DataWarehouse
Hadoop Architecture Options for Existing Enterprise DataWarehouseHadoop Architecture Options for Existing Enterprise DataWarehouse
Hadoop Architecture Options for Existing Enterprise DataWarehouseAsis Mohanty
 
Enterprise Data Management - Data Lake - A Perspective
Enterprise Data Management - Data Lake - A PerspectiveEnterprise Data Management - Data Lake - A Perspective
Enterprise Data Management - Data Lake - A PerspectiveSaurav Mukherjee
 
Architecting next generation big data platform
Architecting next generation big data platformArchitecting next generation big data platform
Architecting next generation big data platformhadooparchbook
 
Building the Enterprise Data Lake: A look at architecture
Building the Enterprise Data Lake: A look at architectureBuilding the Enterprise Data Lake: A look at architecture
Building the Enterprise Data Lake: A look at architecturemark madsen
 
Swimming Across the Data Lake, Lessons learned and keys to success
Swimming Across the Data Lake, Lessons learned and keys to success Swimming Across the Data Lake, Lessons learned and keys to success
Swimming Across the Data Lake, Lessons learned and keys to success DataWorks Summit/Hadoop Summit
 
Optimizing your Modern Data Architecture - with Attunity, RCG Global Services...
Optimizing your Modern Data Architecture - with Attunity, RCG Global Services...Optimizing your Modern Data Architecture - with Attunity, RCG Global Services...
Optimizing your Modern Data Architecture - with Attunity, RCG Global Services...Hortonworks
 
Hadoop application architectures - using Customer 360 as an example
Hadoop application architectures - using Customer 360 as an exampleHadoop application architectures - using Customer 360 as an example
Hadoop application architectures - using Customer 360 as an examplehadooparchbook
 
Organising the Data Lake - Information Management in a Big Data World
Organising the Data Lake - Information Management in a Big Data WorldOrganising the Data Lake - Information Management in a Big Data World
Organising the Data Lake - Information Management in a Big Data WorldDataWorks Summit/Hadoop Summit
 
Building a Data Lake - An App Dev's Perspective
Building a Data Lake - An App Dev's PerspectiveBuilding a Data Lake - An App Dev's Perspective
Building a Data Lake - An App Dev's PerspectiveGeekNightHyderabad
 
Building a Modern Data Architecture with Enterprise Hadoop
Building a Modern Data Architecture with Enterprise HadoopBuilding a Modern Data Architecture with Enterprise Hadoop
Building a Modern Data Architecture with Enterprise HadoopSlim Baltagi
 
Building the Data Lake with Azure Data Factory and Data Lake Analytics
Building the Data Lake with Azure Data Factory and Data Lake AnalyticsBuilding the Data Lake with Azure Data Factory and Data Lake Analytics
Building the Data Lake with Azure Data Factory and Data Lake AnalyticsKhalid Salama
 
The Emerging Data Lake IT Strategy
The Emerging Data Lake IT StrategyThe Emerging Data Lake IT Strategy
The Emerging Data Lake IT StrategyThomas Kelly, PMP
 

Viewers also liked (20)

Big data architectures and the data lake
Big data architectures and the data lakeBig data architectures and the data lake
Big data architectures and the data lake
 
GeekNight 22.0 Multi-paradigm programming in Scala and Akka
GeekNight 22.0 Multi-paradigm programming in Scala and AkkaGeekNight 22.0 Multi-paradigm programming in Scala and Akka
GeekNight 22.0 Multi-paradigm programming in Scala and Akka
 
Making the Case for Hadoop in a Large Enterprise-British Airways
Making the Case for Hadoop in a Large Enterprise-British AirwaysMaking the Case for Hadoop in a Large Enterprise-British Airways
Making the Case for Hadoop in a Large Enterprise-British Airways
 
Hadoop: Making it work for the Business Unit
Hadoop: Making it work for the Business UnitHadoop: Making it work for the Business Unit
Hadoop: Making it work for the Business Unit
 
Talend winter 2017 overview webinar
Talend winter 2017 overview webinarTalend winter 2017 overview webinar
Talend winter 2017 overview webinar
 
Présentation de Talend Winter 2017
Présentation de Talend Winter 2017 Présentation de Talend Winter 2017
Présentation de Talend Winter 2017
 
Hadoop Architecture Options for Existing Enterprise DataWarehouse
Hadoop Architecture Options for Existing Enterprise DataWarehouseHadoop Architecture Options for Existing Enterprise DataWarehouse
Hadoop Architecture Options for Existing Enterprise DataWarehouse
 
Enterprise Data Management - Data Lake - A Perspective
Enterprise Data Management - Data Lake - A PerspectiveEnterprise Data Management - Data Lake - A Perspective
Enterprise Data Management - Data Lake - A Perspective
 
Architecting next generation big data platform
Architecting next generation big data platformArchitecting next generation big data platform
Architecting next generation big data platform
 
Building the Enterprise Data Lake: A look at architecture
Building the Enterprise Data Lake: A look at architectureBuilding the Enterprise Data Lake: A look at architecture
Building the Enterprise Data Lake: A look at architecture
 
Swimming Across the Data Lake, Lessons learned and keys to success
Swimming Across the Data Lake, Lessons learned and keys to success Swimming Across the Data Lake, Lessons learned and keys to success
Swimming Across the Data Lake, Lessons learned and keys to success
 
Optimizing your Modern Data Architecture - with Attunity, RCG Global Services...
Optimizing your Modern Data Architecture - with Attunity, RCG Global Services...Optimizing your Modern Data Architecture - with Attunity, RCG Global Services...
Optimizing your Modern Data Architecture - with Attunity, RCG Global Services...
 
Hadoop application architectures - using Customer 360 as an example
Hadoop application architectures - using Customer 360 as an exampleHadoop application architectures - using Customer 360 as an example
Hadoop application architectures - using Customer 360 as an example
 
Organising the Data Lake - Information Management in a Big Data World
Organising the Data Lake - Information Management in a Big Data WorldOrganising the Data Lake - Information Management in a Big Data World
Organising the Data Lake - Information Management in a Big Data World
 
Building a Data Lake - An App Dev's Perspective
Building a Data Lake - An App Dev's PerspectiveBuilding a Data Lake - An App Dev's Perspective
Building a Data Lake - An App Dev's Perspective
 
Building a Modern Data Architecture with Enterprise Hadoop
Building a Modern Data Architecture with Enterprise HadoopBuilding a Modern Data Architecture with Enterprise Hadoop
Building a Modern Data Architecture with Enterprise Hadoop
 
Building the Data Lake with Azure Data Factory and Data Lake Analytics
Building the Data Lake with Azure Data Factory and Data Lake AnalyticsBuilding the Data Lake with Azure Data Factory and Data Lake Analytics
Building the Data Lake with Azure Data Factory and Data Lake Analytics
 
Big Data Architectural Patterns
Big Data Architectural PatternsBig Data Architectural Patterns
Big Data Architectural Patterns
 
How to build a successful Data Lake
How to build a successful Data LakeHow to build a successful Data Lake
How to build a successful Data Lake
 
The Emerging Data Lake IT Strategy
The Emerging Data Lake IT StrategyThe Emerging Data Lake IT Strategy
The Emerging Data Lake IT Strategy
 

Similar to Hadoop con 2015 hadoop enables enterprise data lake

大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術Wei-Yu Chen
 
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法Jazz Yao-Tsung Wang
 
大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点 大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点 Chao Zhu
 
Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲84zhu
 
Etu DW Offload 解放資料倉儲的運算效能
Etu DW Offload 解放資料倉儲的運算效能Etu DW Offload 解放資料倉儲的運算效能
Etu DW Offload 解放資料倉儲的運算效能Etu Solution
 
Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里li luo
 
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
開放原始碼 Ch2.4   app - oss - db (ver 1.0)開放原始碼 Ch2.4   app - oss - db (ver 1.0)
開放原始碼 Ch2.4 app - oss - db (ver 1.0)My own sweet home!
 
Distributed Data Analytics at Taobao
Distributed Data Analytics at TaobaoDistributed Data Analytics at Taobao
Distributed Data Analytics at TaobaoMin Zhou
 
高科技產業資料分析解決方案 Hare DB
高科技產業資料分析解決方案 Hare DB高科技產業資料分析解決方案 Hare DB
高科技產業資料分析解決方案 Hare DBEtu Solution
 
Log collection
Log collectionLog collection
Log collectionFEG
 
浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华zhuozhe
 
美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍美团点评技术团队
 
美团数据库运维平台介绍
美团数据库运维平台介绍美团数据库运维平台介绍
美团数据库运维平台介绍Leo Zhou
 
美团数据库运维平台介绍
美团数据库运维平台介绍美团数据库运维平台介绍
美团数据库运维平台介绍Leo Zhou
 
Bigdata introduction
Bigdata introductionBigdata introduction
Bigdata introductionTechwiser
 
Exadata那点事
Exadata那点事Exadata那点事
Exadata那点事freezr
 
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...acelyc1112009
 
Mr&ueh数据库方面
Mr&ueh数据库方面Mr&ueh数据库方面
Mr&ueh数据库方面Tianwei Liu
 
Hadoop ecosystem - hadoop 生態系
Hadoop ecosystem - hadoop 生態系Hadoop ecosystem - hadoop 生態系
Hadoop ecosystem - hadoop 生態系Wei-Yu Chen
 

Similar to Hadoop con 2015 hadoop enables enterprise data lake (20)

大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術
 
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法
2015-05-20 製造業生產歷程全方位整合查詢與探勘的規劃心法
 
大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点 大型电商的数据服务的要点和难点
大型电商的数据服务的要点和难点
 
Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲
 
Etu DW Offload 解放資料倉儲的運算效能
Etu DW Offload 解放資料倉儲的運算效能Etu DW Offload 解放資料倉儲的運算效能
Etu DW Offload 解放資料倉儲的運算效能
 
Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里
 
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
開放原始碼 Ch2.4   app - oss - db (ver 1.0)開放原始碼 Ch2.4   app - oss - db (ver 1.0)
開放原始碼 Ch2.4 app - oss - db (ver 1.0)
 
Distributed Data Analytics at Taobao
Distributed Data Analytics at TaobaoDistributed Data Analytics at Taobao
Distributed Data Analytics at Taobao
 
高科技產業資料分析解決方案 Hare DB
高科技產業資料分析解決方案 Hare DB高科技產業資料分析解決方案 Hare DB
高科技產業資料分析解決方案 Hare DB
 
Log collection
Log collectionLog collection
Log collection
 
浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华浅析分布式存储架构—设计自己的存储- 58同城徐振华
浅析分布式存储架构—设计自己的存储- 58同城徐振华
 
美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍
 
美团数据库运维平台介绍
美团数据库运维平台介绍美团数据库运维平台介绍
美团数据库运维平台介绍
 
美团数据库运维平台介绍
美团数据库运维平台介绍美团数据库运维平台介绍
美团数据库运维平台介绍
 
Bigdata introduction
Bigdata introductionBigdata introduction
Bigdata introduction
 
Hadoop 介紹 20141024
Hadoop 介紹 20141024Hadoop 介紹 20141024
Hadoop 介紹 20141024
 
Exadata那点事
Exadata那点事Exadata那点事
Exadata那点事
 
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
The Construction and Practice of Apache Pegasus in Offline and Online Scenari...
 
Mr&ueh数据库方面
Mr&ueh数据库方面Mr&ueh数据库方面
Mr&ueh数据库方面
 
Hadoop ecosystem - hadoop 生態系
Hadoop ecosystem - hadoop 生態系Hadoop ecosystem - hadoop 生態系
Hadoop ecosystem - hadoop 生態系
 

Hadoop con 2015 hadoop enables enterprise data lake

  • 1. Hadoop Enables Enterprise Data Lake James Chen CTO, Etu Corp. September 19, 2015
  • 2. 2 Agenda 大綱 •  EDW 的現況與挑戰 •  何謂 Enterprise Data Lake (EDL) •  EDL 需要具有哪些特性 •  演化中的 Hadoop 生態系 •  Hadoop 生態系如何實現Enterprise Data Lake •  Take Away
  • 3. 3 邁向數據驅動的企業 現狀 Bring Data to Compute 未來 Bring Compute to Data Relative size complexity Data Information-centric businesses use all data: Multi-structured, internal external data of all types Compute Compute Compute Process-centric businesses use: • Structured data mainly • Internal data only • “Important” data only Compute Compute Compute Data Data Data Data
  • 4. 4 EDW 現況與挑戰 ERP, CRM, RDBMS, Machines Files, Images, Video, Logs, Clickstreams External Data Sources Data ArchivesEDWs Marts SearchServers Document Stores Storage Complex Architecture •  Many special-purpose systems •  Moving data around •  No complete views Visibility •  Leaving data behind •  Risk and compliance •  High cost of storage Time to Data •  Up-front modeling •  Transforms slow •  Transforms lose data Cost of Analytics •  Existing systems strained •  No agility •  BI backlog 4 1 2 3
  • 5. 5 何謂 Enterprise Data Lake •  A Data lake is a large storage repository that holds data until it is needed” •  Put an end to data silos •  Hadoop allows to hold data in their original native format rather than forcing integration of large volumes of data up front. https://en.wikipedia.org/wiki/Data_lake
  • 6. 6 EDWs Marts Storage Search Servers Documents Archives ERP, CRM, RDBMS, Machines Files, Images, Video, Logs, Clickstreams External Data Sources Multi-workload analytic platform •  Bring applications to data •  Combine different workloads on common data (i.e. SQL + Search) •  True BI agility 4 1   3  4   Data Lake is a reference architecture Active archive •  Full fidelity original data •  Indefinite time, any source •  Lowest cost storage 1 Data management, transformations •  One source of data for all analytics •  Persisted state of transformed data •  Significantly faster cheaper 2 Self-service exploratory BI •  Simple search + BI tools •  “Schema on read” agility •  Reduce BI user backlog requests Big Data Platform 3 1   2  
  • 7. 7 EDL 需要具有哪些特性 •  結構化與非結構化資料儲存與處理能力 •  Schema-On-Read 分析與查詢能力 異質資料處理能力 •  運算與儲存一體 •  水平擴充節點,儲存容量與運算能力同步擴充 可水平擴展的架構 •  分散式檔案系統與 NoSQL 資料庫 •  MapReduce平行運算與分散式SQL查詢引擎兼具 •  整合既有分析工具與資料庫的能力 開放彈性的軟體生態系
  • 9. 9 Hadoop Spark YARN (Resource Management) Spark on YARN Spark Streaming GraphX MLlib HDFS, Hbase (Data Store) HivePig Impala MapReduce2 SparkSQL Search Core Hadoop Support Spark compon Not support yet add-on
  • 10. 10 Cloudera is a member of, and aligned with, the broader Spark community Spark: •  Will replace MapReduce as the general purpose Hadoop framework –  Broad community and vendor adoption –  Hadoop ecosystem integration (native 3rd party) •  Goes beyond data science/machine learning –  Cloudera working on Spark Core, Streaming, Security, YARN, and MLlib •  Does not replace special purpose frameworks –  One size does not fit all for SQL, Search, Graph, Stream Cloudera’s Position on Spark
  • 11. 11 Spark Engineering in Cloudera •  Cloudera embraced Spark in early 2014 •  One Platform Initiative (Mike’s Blog) •  Engineering with Intel to broaden Spark ecosystem –  Hive-on-Spark –  Pig-on-Spark –  Spark-over-YARN –  Spark Streaming Reliability –  General Spark Optimization –  Security, Compliance Audit
  • 12. 12 Hive on Spark •  Technology –  Hive: “standard” SQL tool in Hadoop –  Spark: next-gen distributed processing framework –  Hive + Spark •  Performance •  Minimum feature gap •  Industry –  A lot of customers heavily invest in Hive –  Want to leverage the Spark engine
  • 13. 13 Design Principles •  No or limited impact on Hive’s existing code path •  Maximize code reuse •  Minimum feature customization •  Low future maintenance cost
  • 14. 14 Class Hierarchy TaskCompiler MapRedCompiler TezCompiler Task Work MapRedTask TezTask TezWork MapRedWork SparkCompiler SparkTask SparkWork generates described by
  • 15. 15 Current Status •  All functionality in Hive is implemented •  First round of optimization is completed –  Map join, SMB –  Split generation and grouping –  CBO, vectorization •  More optimization and benchmarking coming •  Beta in CDH –  https://issues.apache.org/jira/browse/HIVE-7292
  • 16. 16 •  Data Lake Building Blocks •  建立 Data Lake 的常見痛點 –  資料來源雜 –  資料表太寬 –  查詢速度慢 •  導入 Data Lake 的前置行動 –  目前關聯式資料庫的極限是幾個欄位? –  未來如何驗證評測解決方案? 如何產生範例資料集 ? Hadoop 生態系如何實現 EDL
  • 17. 17 Hadoop Cluster HDFS MapReduce/Spark Traditional EDW ETL Hive Batch HBase NoSQL Impala Ad-hoc Un-structure Structure LoB Data LoB Data ETL ETL Query Traditional BI Discovery Prototyping Ad-Hoc Query Reporting Ad-Hoc Query Reporting Data Lake Building Blocks
  • 18. 18 Components of the Data Lake •  Process Tools •  Hive: SQL like query and analysis •  Pig: Transformation for big data •  Sqoop: Extracts external source and load to Hadoop •  MR/Spark: General-purpose cluster computing framework •  Spark-Stream: On-the-fly ETL •  NoSQL •  HBase •  Search •  Log Streaming •  Kafka/Scribe •  Flume •  Fluentd •  Language •  Python/Java/R/Scala
  • 20. 20 生 流 蒐 存 取 算 析 用 看 資料源 網路協定 前處理 儲存方式 存取方式 資料處理 資料分析 視覺化 解讀 影片 自訂 Flume HDFS Map Reduce Hive Mobile App 照片 錄音 日誌檔 Log 網頁 HTML 交換檔 XML, Json syslog FTP Kafka Fluentd HBase RDBMS File Input / Output Format FS Shell Web HDFS Thrift Java API DBInput / DBOutput Format Pig Mahout Oozie EDW RDBMS 資料處理 Processing 資料分析 Analysis Sqoop Engineer (電機) Network (網通) System Admin DBA (資管) Programmer (資工) Analyst (統計) 變 行動 Decision Maker Impala
  • 21. 21 Etu Manager 為企業建構 Etu Data Lake Etu Data Lake 能快速處理大量 資料集,無需建立廣泛的資料模 型。使用者從單一資料樞紐,能 便捷的搜尋和探索各式結構化和 非結構化資料,以及內部和外部 的資料來源。 巨量資料可透過批次、近即時或 即時處理匯入,不受限於原始結 構(schema) 設計,之後也可再 匯入企業其他資料倉儲系統,讓 企業的資料探索和運用增加高度 彈性,真正達到資料的隨需應用, 產生更敏捷的商業決策。
  • 22. 22 •  建立 Data Lake 的常見痛點 –  資料來源雜 –  資料表太寬 –  查詢速度慢 •  導入 Data Lake 的前置行動 –  目前關聯式資料庫的極限是幾個欄位? –  未來如何驗證評測解決方案? 如何產生範例資料集 ? Hadoop 生態系如何實現 EDL
  • 23. 23 生產機台 1 生產機台 2 生產機台 N ‧‧ ‧ 製造執行 MES 生產日誌 資料倉儲 批次 ETL 運算 批次 分析 運算 生產 統計 報表 製程監控 FDC 結構化資料 Structured Data 非結構化資料 Unstructured Data 視覺 檢測 生 資料源 半結構化資料 Semi-structured Data 語法 分析 程式 檢測 紀錄 事件 日誌
  • 24. 24 固定格式的 Log – 耗時等級: 中等 •  通常以純文字格式存在,通常有固定的分隔符號跟欄位定義 •  常見痛點:檔案太大,單機跑太久 •  目前解法:平行切割檔案,平行解析內容 •  常見來源: –  Windows Event Log (串流) –  能夠提供標準 Syslog 格式的網路設備 (串流) –  XML 交換資料檔 (靜態) –  網頁伺服器 Web Access Log / DNS Access Log •  常用工具: Pig , Hadoop Streaming •  可批次化: 易 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 流 網路協定 蒐 前處理 魔鬼細節
  • 25. 25 自由格式的 TXT – 耗時等級: 高等 •  通常以純文字格式存在,只有區塊定義 •  常見痛點:檔案太多,單機跑太久 •  目前解法:平行分配解析運算到多台 •  常見來源: –  晶片封裝檢測程式產生的日誌檔 –  晶片模擬軟體產生的日誌檔 •  常用工具: Perl, Python + Hadoop Streaming •  可批次化: 難,須注意例外處理 LOTID: XXXXXX PID: YYYYYY MID: ZZZZZZZ DATE: 2015/05/20TIME: 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 流 網路協定 蒐 前處理 魔鬼細節
  • 26. 26 生產機台 1 生產機台 2 生產機台 N ‧ ‧ ‧ 製造執行 MES 生產日誌 資料倉儲 批次 ETL 運算 批次 分析 運算 生產 統計 報表 製程監控 FDC 非結構化資料 Unstructured Data 視覺 檢測 半結構化資料 Semi-structured Data 語法 分析 程式 檢測 紀錄 事件 日誌 存 儲存方式 結構化資料 Structured Data
  • 27. 27 巨量資料時代,企業資料倉儲面臨的挑戰:寬 •  為了能夠做更多分析,需要建立更多連結資料 (Linked Data) •  常見解法: JOIN 成一張更大的表 •  常見痛點: 欄位太寬,資料量太大,寫入太久,單機跑不動      叢集式資料倉儲又太貴 •  問題根源: –  太寬 → 現有資料倉儲是以關聯式資料庫實作,本質上會建議拆成多張表 –  太大 → 關聯式資料庫必須靠 Sharding 來解決資料量的問題 –  太久 → 關聯式資料庫是為了查詢快,所以寫入時要花 CPU 建立索引 •  目前解法: –  入庫即查 ( Schema on Read 解決太寬問題, 不建索引自然寫入快 ) –  平行寫入 ( 分散儲存解決資料量問題, 平行寫入解決寫入太久問題 ) •  常用工具: Hive (SQL-like), HBase (NoSQL), Impala •  未來挑戰: 遞增資料的入庫
  • 28. 28 寬跟慢是一體兩面:能有多寬? 能有多大? 會有 多慢? •  快或慢,很主觀。 •  回歸商業問題的需求,再來定義對速度的要求 –  批次 (年/月/週/日) – 近即時 (時/分) – 即時 (秒/毫秒) •  資料集特性: –  總欄位數 = 製程工序數 (column) or 零售商品數 –  總資料量 = 製程工序數 * 資料型態大小 * 生產數量(row) •  請發揮您的想像力: (因為這些我也不知道答案,只能讓各位感受與想像一下) –  如果今天有 3,000 個連線要同時將資料寫入關聯式資料庫 –  SQL Client 同時連線數的上限 ?? 需要購買多少授權 ?? –  需要買幾核心的機器呢 ?? 多少記憶體 ?? 該用光纖接 SAN 嗎 ?? –  硬碟寫入速度該有多快 ?? 會不會發生競爭同一顆硬碟的問題 ?? 避 免 落 入 效 能 規 格 戰 爭 產 生 商 業 價 值 才 是 重 點
  • 29. 29 商品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 示意:客戶特徵分析 (原始)
  • 30. 30 商品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 示意:客戶特徵分析 (分群)
  • 31. 31 生產機台 1 生產機台 2 生產機台 N ‧ ‧ ‧ 製造執行 MES 生產日誌 資料倉儲 批次 ETL 運算 批次 分析 運算 生產 統計 報表 製程監控 FDC 非結構化資料 Unstructured Data 視覺 檢測 半結構化資料 Semi-structured Data 語法 分析 程式 檢測 紀錄 事件 日誌 存 結構化資料 Structured Data 取 存取方式 算 資料處理 析 資料分析
  • 32. 32 常見痛點:查詢太慢 •  人與技術: –  通常組織內部是由熟悉 SQL 與統計語言的資料庫管理員 與分析師在進行分析 –  為了解釋現象與原因,會利用 視覺化工具,繪製「管制圖」 方便解讀,產生洞察 •  常見痛點: –  複雜 SQL 查詢執行太久 –  報表反應速度很慢 •  一般解法: –  查詢太久 → (下一頁) –  反應很慢 → 預處理 (先建好要查的資料表) 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; 取 存取方式 算 資料處理
  • 33. 33 痛點:查詢太慢,那怎麼找止痛藥呢? •  進階解法: –  查詢平行執行 ( 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 語句的移轉 取 存取方式 算 資料處理
  • 34. 34 痛點:分析太慢,那止痛藥呢? •  新興需求:多變量分析、機器學習 –  分析方法通常會使用到機器學習的工具, 如:降維(PCA/SVD)、分群(K-Mean)等 –  若考量人與技術:統計軟體 R 與 SQL 仍是主流 •  常見痛點: –  單機記憶體不足、運算時間太久、讀取資料太慢 •  目前解法: –  不足 → 平行運算 ( 拆解資料,將運算平行化分配到不同節點 ) –  太久 → 善用記憶體加速 ( In Memory Computing ) –  太慢 → 平行讀寫 ( 有迭代特性的演算法, 盡量減少中間產物 ) •  常用工具: –  批次機器學習: Mahout ( Batch ) –  機器學習函式庫: Spark MLlib ( In-Memory Computing , RDD) 析 資料分析
  • 35. 35 •  建立 Data Lake 的常見痛點 –  資料來源雜 –  資料表太寬 –  查詢速度慢 •  導⼊入 Data Lake 的前置⾏行動 –  目前關聯式資料庫的極限是幾個欄位? –  未來如何驗證評測解決方案? 如何產生範例資料集 ? Hadoop 生態系如何實現 EDL
  • 36. 36 企業無法外包的部分:用、看、變 •  資訊服務業通常熟悉技術,也有具備對應的技術人才 然而很難取代企業內部的分析專才, 因為『欠缺領域知識(Domain Knowledge)』。 •  企業常常只有老師傅才有辦法『判讀』, 能否把『經驗』轉化成『系統』呢? •  前期規劃 vs 付諸行動 用 視覺化 看 解讀 變 行動
  • 37. 37 目前關聯式資料庫的極限是幾個欄位? •  確認了商務需求與產出價值後,下一歩是確認是否需要擁抱巨量資料 •  以下是目前常用的關聯式資料庫欄位寬度限制: Database Maximum Columns Per table Oracle 1,000 SQL Server 1,024 columns per non-wide 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
  • 38. 38 MySQL – 建立單表 4,000 個整數欄位 失敗 •  資料型態、是否允許空值(NULL)、引擎種類均會影響欄位個數 [1] column_limit_4K.sql - https://gist.github.com/601d039c8b754c661220 [2] column_limit_5K.sql - https://gist.github.com/c9e71a2a051ccd4ac418
  • 39. 39 實測 Impala – 建立 5,000 個整數欄位 成功 [1] column_limit_4K.sql - https://gist.github.com/601d039c8b754c661220 [2] column_limit_5K.sql - https://gist.github.com/c9e71a2a051ccd4ac418
  • 41. 41 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  
  • 42. 42 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  2451    -­‐-­‐  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  quer
  • 43. 43 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   使用相同的資料集與 查詢語句,較容易進行 不同技術的評選
  • 44. 44 Take Away – 今天的分享總結 1.  規劃心法:People、Process、Technology、Roadmap 2.  Etu Data Lake 協助企業補完導入企業巨量資料時 People 與 Technology 的缺口。 3.  Etu 是企業導入巨量資料的最佳夥伴 –  顧問服務:導入前的資訊架構規劃、ROI 評估 –  教育訓練:補充內部人才的技術能量 –  解決方案:從產品到不同領域的解決方案,跟客戶一同成長 –  技術支援:到府安裝、設定、調校,專案開發等 生 流 蒐 存 取 算 析 用 看 資料源 網路協定 前處理 儲存方式 存取方式 資料處理 資料分析 視覺化 解讀 變 行動
  • 45. 45 Q A 生 流 蒐 存 取 算 析 用 看 資料源 網路協定 前處理 儲存方式 存取方式 資料處理 資料分析 視覺化 解讀 影片 自訂 Flume HDFS Map Reduce Hive 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 EDW RDBMS 資料處理 Processing 資料分析 Analysis Sqoop Engineer (電機) Network (網通) System Admin DBA (資管) Programmer (資工) Analyst (統計) 變 行動 Decision Maker Impala
  • 46. http://www.etusolution.com info@etusolution.com Taipei, Taiwan 8F, 318, Rueiguang Rd., Taipei 114, Taiwan T: +886 2 8798 6088 F: +886 2 8798 7139 Contact