hadoop 與 sql 的甜蜜連結

41
Hadoop 與 SQL 與與與與與 與與與與 與與與 Etu 與與與與 與與與

Upload: james-chen

Post on 15-Jan-2015

9.419 views

Category:

Technology


2 download

DESCRIPTION

精誠集團行雲流水系列第三場-流, 大會主題 2012 Taiwan Big Data, 我在其中一個 Track 跟大家分享 Hadoop 與 SQL 的整合運用

TRANSCRIPT

Page 1: Hadoop 與 SQL 的甜蜜連結

Hadoop 與 SQL 的甜蜜連結精誠資訊 雲中心

Etu 首席顧問 陳昭宇

Page 2: Hadoop 與 SQL 的甜蜜連結

摘要您曾經聽說過 Hadoop 和 NoSQL 嗎 ? 您是否了解非結構化與結構化資料 ? 它們之間是什麼樣的關係 ?  根據統計 , 企業內結構化的資料約僅佔 15%,   另有 85% 的寶貴資訊是以非結構化的方式存在 , 例如網頁 , 電子郵件 , 應用系統的日誌等等 . 如何處理並分析這些非結構化資料 , 挖掘其中所蘊藏的商業價值 , 已成為企業 IT 必須面對的課題 .

關聯式資料庫及資料倉儲系統可說是今日企業資訊的核心 , 結構化查詢語言 SQL 也幾乎是企業資訊從業人員必需具備的技能之一 . 然而面對爆炸性成長的非結構化資訊 , 企業應該採用什麼樣的策略 ? 該如何讓既有的關聯式資料庫與 Hadoop 整合 , 建立企業對於非結構化資訊的管理能力 ? 精誠 Etu 團隊將協助您的企業 , 打開 SQL to Hadoop 之路 .

Page 3: Hadoop 與 SQL 的甜蜜連結

大綱• 結構與非結構化資訊• 什麼是 Hadoop ?• 關聯式資料庫與 Hadoop 的差異 • 連結關聯式資料庫與 Hadoop• SQL 與 Hadoop 整合應用的策略• Etu Appliance 簡介

Page 4: Hadoop 與 SQL 的甜蜜連結

什麼是非結構化資訊 ?

4

Unstructured Data refers to information that either does not have a pre-defined data model and/or does not fit well into relational tables. Unstructured information is typically text-heavy, but may contain data such as dates, numbers, and facts as well. This results in irregularities and ambiguities that make it difficult to understand using traditional computer programs as compared to data stored in fielded form in databases or annotated (semantically tagged) in documents -- from Wikipedia http://en.wikipedia.org/wiki/Unstructured_data

Page 5: Hadoop 與 SQL 的甜蜜連結

非結構化資訊的特性• 無法事先定義資料模型• 不適合存放於關聯式資料庫• 通常含有大量無格式的文字訊息• 可能含有非文字資訊 , 如圖片 , 影像 , 聲音

Page 6: Hadoop 與 SQL 的甜蜜連結

有哪些非結構化資訊

6

Social Media Machine / SensorDOC / MediaWeb

Clickstream

AppsCall Log/xDR

Log

Page 7: Hadoop 與 SQL 的甜蜜連結

Hadoop 與大數據處理

7

關聯式資料庫 & DW

異質資料處理平台

結構化

非結構化

15%15%

85%85%

Page 8: Hadoop 與 SQL 的甜蜜連結

Big Data 時代來臨 – 新量級、新處理模式、新企業智慧

行動 / 網際網路Mobile/Internet

物聯網Internet of Things

Page 9: Hadoop 與 SQL 的甜蜜連結

Big Data 新處理方式

檔案系統檔案系統

ETL 工具或

script

ETL 工具或

script

關連式資料庫關連式資料庫

分散式檔案系統

分散式檔案系統

分散式檔案系統

分散式檔案系統

分散式檔案系統

分散式檔案系統

平行運算平行運算 平行運算平行運算 平行運算平行運算

NoSQLNoSQL NoSQLNoSQL NoSQLNoSQL

Scale Out (TB to PB)Scale Out (TB to PB)

原始數據原始數據

資料處理資料處理

查詢應用查詢應用

Page 10: Hadoop 與 SQL 的甜蜜連結

什麼是 Hadoop ?

• 由 Doug Cutting 所發起的 Open Source 分散式計算框架

• 參考 Google 的 GFS 與 Map Reduce 架構

• 公有雲等級的資料儲存與處理能力• 內建資料與任務的容錯機制 , 可以容忍硬體及網路故障

• 設計運行於商用伺服器 , 無需特殊之硬體10

Page 11: Hadoop 與 SQL 的甜蜜連結

為什麼要用 Hadoop

• 儲存並處理海量結構與非結構資訊• 執行資料分析程式於分散式系統上• 簡化分散式系統的管理與資源調度• 線性化的擴充能力• 高可用性與容錯性

11

Page 12: Hadoop 與 SQL 的甜蜜連結

Hadoop 不只是 Hadoop

12

HIVEHIVE

Big Data ApplicationsBig Data ApplicationsBig Data ApplicationsBig Data Applications

Pig!Pig!

ZooZooKeeperKeeper

SQLSQL

RAWRAW

Page 13: Hadoop 與 SQL 的甜蜜連結

Hadoop 生態系統 ZooKeeper – distributed coordination service HBase – distributed column-oriented database for

random read/write HIVE – SQL like database on top of Hadoop Pig – high level scripting language for data processing Mahout – a scalable machine learning library for

MapReduce Sqoop – SQL-to-Hadoop connector Flume – a distributed streaming data collection

framework

13

Page 14: Hadoop 與 SQL 的甜蜜連結

關聯式資料庫 vs Hadoop

關聯式資料庫 Hadoop

資料量 GB -> TB TB -> PB

存取方式 互動式與批次 批次資料更新 多次讀寫 一次寫 , 多次讀資料結構 固定 schema 無 schema

資料一致性 高 (ACID) 低擴充性 非線性 線性

Page 15: Hadoop 與 SQL 的甜蜜連結

聲音檔案影片檔案圖形檔案

文件檔案文字資料XML 檔案

Web Logs點擊事件

社交網路關聯圖譜新聞

Feeds

感應器嵌入設備

RFID Tags

地理資訊GPS 點位

事件其他

Big Data精煉處理場

NewSQL

NewSQLNoSQLNoSQLSQLSQL

NewSQL

NewSQLMPPMPPEDWEDW

商業智慧與

線上分析

Web, Mobile, CRM, ERP, SCM, …

Dashboard, Report, Visualization, …

商務交易與

行為互動

Original source: http://hortonworks.com/blog/big-data-refinery-fuels-next-generation-data-architecture

傳統 ETL

預處理

回饋 /歷史資料

回饋 /歷史資料

多結構資料儲存 /彙整 /轉換 /運算

Big Data Taiwan 2012 整合大全

Page 16: Hadoop 與 SQL 的甜蜜連結

連結關聯式資料庫與 Hadoop

• 匯入與匯出資料– Sqoop (by Cloudera)

• 查詢與整合– Hive JDBC Driver (Java)– Hive ODBC Driver (C++)– Hive Add-in for Excel (by Microsoft)– Thrift (C/C++, Python, Perl, PHP)

Page 17: Hadoop 與 SQL 的甜蜜連結

Hive 簡介• 由 Facebook 開發• 架構於 Hadoop 之上 , 設計用來管理結構化資料的中介軟體• 以 MapReduce 為執行環境• 資料儲存於 HDFS上• Metadata 儲存於 RDMBS中

• Hive的設計原則• 採用類 SQL語法• – 擴充性 Types, Functions, Formats, Scripts• 性能與平水擴展能力兼具

Page 18: Hadoop 與 SQL 的甜蜜連結

Hive的架構

• Driver• 將 SQL 語法編譯成

MapReduce 任務 ,進行最佳化 ,發送到 Job Tracker執行

• CLI/Web UI• Ad-hoc查詢• Schema查詢• 管理介面

• JDBC/ODBC • 標準介面與其他資料庫工

具及應用程式介接

Driver(compiler, optimizer,

executor)

Driver(compiler, optimizer,

executor)

metastore

metastore

Web UI

Web UI CLICLI JDBC

ODBCJDBCODBC

Page 19: Hadoop 與 SQL 的甜蜜連結

Hive – SQL like Hadoop Database

Driver(compiler, optimizer,

executor)

Driver(compiler, optimizer,

executor)

metastore

metastore

Data NodeData Node

Data NodeData Node

Data NodeData Node

Data NodeData Node

Hadoop Cluster

M/RM/R M/RM/R M/RM/R M/RM/R

Web UI

Web UI CLICLI JDBC

ODBCJDBCODBC

Create M/R Job

Page 20: Hadoop 與 SQL 的甜蜜連結

Sqoop – SQL to Hadoop

JDBCJDBC JDBCJDBC JDBCJDBC

MapMap MapMap MapMap

HDFS/HIVE/HBase

HDFS/HIVE/HBase

SQL

Create Map Tasks

Page 21: Hadoop 與 SQL 的甜蜜連結

Sqoop 支援的 RDMBS

• Oracle• Netezza• Teradata• SQL Server• Microsoft PDW• MySql• Postgre SQL

Page 22: Hadoop 與 SQL 的甜蜜連結

傳統的資料處理流程營運資訊

新用戶

新訂單

新產品

資料倉儲

使用者瀏覽日誌大部份刪除

ETL部份資料

Page 23: Hadoop 與 SQL 的甜蜜連結

探索式的資料處理流程

新用戶

新訂單

新產品

資料倉儲營運資訊

廣告效益分析 ? 促銷活動分析 ?

電子報效益分 析 ?

廣告效益分析 ? 促銷活動分析 ?

電子報效益分 析 ?

使用者瀏覽日誌

Page 24: Hadoop 與 SQL 的甜蜜連結

24Strictly NDA - Microsoft Confidential

Sensors

Devices

Web Log

Crawlers ERP CRM LOB APPs

Connectors

非結構化資料來源

S S RS

SSAS

BI Platform

Familiar End User Tools

PowerView Excel with PowerPivot

Embedded BI

Predictive Analytics

結構化資料來源

Hadoop

企業的 Hadoop 應用策略

Page 25: Hadoop 與 SQL 的甜蜜連結

第一招 : 參照 RDBMS 中的資料表

RDBMS

Customers

WebLogs

Products

HDFS

Page 26: Hadoop 與 SQL 的甜蜜連結

第二招 : 離線數據分析

RDBMS

Customers

ProductsHDFS

Sales History

Page 27: Hadoop 與 SQL 的甜蜜連結

RDBMSHDFS

Sales 2008

Sales 2009

Sales 2010

Sales 2008

ODBC/JDBC

第三招 : 歷史數據與線上數據交互運用

Page 28: Hadoop 與 SQL 的甜蜜連結

第四招 : 利用 Hadoop 進行數 據彙總

RDBMS

WebLogs

HDFS

WebLog Summary

Page 29: Hadoop 與 SQL 的甜蜜連結

第五招 : 利用 ODBC 連結 Excel & Hive

Excel Hive Add-in

在線資料 : MS SQL Server

歷史資料 : Hive

Page 30: Hadoop 與 SQL 的甜蜜連結

Hadoop 平台競爭要素

Hadoop Disruption Vectors

Source: GigaOM Pro, 2012

整合部署存取

Page 31: Hadoop 與 SQL 的甜蜜連結

• 延展:公有雲等級的運算架構• 可靠:電信等級的系統品質• 效能:企業等級的創新績效

Etu Appliance 簡介Big Data End-to-End Solution in a Box

儲存與運算一體,簡化與最佳化的優勢機種:

•10 分鐘內可部署 100+ 節點

•資料擷取能力 1U 勝過 8U

•Big Data 運算處理最適化

Page 32: Hadoop 與 SQL 的甜蜜連結

三種資料溫度的整合: Hot / Warm / Cold

Hot Data在線結構化資料在線半 / 非結構化資料

Warm Data在線半 / 非結構化資料

Cold Data離線資料

Hadoop-based Solution

SAN / NAS / Scale-out NAS

OLTP OLAP

Page 33: Hadoop 與 SQL 的甜蜜連結

33

軟硬體整合

管理維運功能

全自動化部署不停機擴充軟硬體全面最佳化中央叢集系統管理中央叢集系統監控完整的高可用性設計

管理維運功能

全自動化部署不停機擴充軟硬體全面最佳化中央叢集系統管理中央叢集系統監控完整的高可用性設計

Etu Appliance 主要功能

Page 34: Hadoop 與 SQL 的甜蜜連結

Etu Appliance 軟體架構

Katta/LuceneKatta/Lucene MahoutMahout

HBaseHBase

Hive QLHive QL

MapReduceMapReduce

Data Processing

Lib

Data Processing

Lib

HDFSHDFS

PigPig

Data Store Layer

Data Processing Layer

FlumeFlume

Application Layer (by SYSTEX)

MonitoringMonitoring

Log Manageme

nt

Log Manageme

ntAccount

Management

Account Manageme

ntConfiguration

Management

Configuration

Management

SchedulerScheduler

High Availability

High Availability

Search APISearch API

Data Source

HiveHiveSqoopSqoop

Etu OS for Hadoop (by SYSTEX)

Page 35: Hadoop 與 SQL 的甜蜜連結

Etu Management Console

Page 36: Hadoop 與 SQL 的甜蜜連結

Etu Cluster Management

Page 37: Hadoop 與 SQL 的甜蜜連結

Etu Service Management

Page 38: Hadoop 與 SQL 的甜蜜連結

總結

• 關聯式資料庫與 Hadoop 的連結是企業導入 Hadoop 的重要關鍵

• Sqoop 及 Hive 提供企業延伸資訊管理能力及於非結構化資訊

• 關聯式資料庫與 Hadoop 皆為工具 , 更重要的是整體的解決方案

• 精誠 Etu 團隊是您整合 SQL 與 Hadoop 的最佳夥伴

Page 39: Hadoop 與 SQL 的甜蜜連結

Demo• Etu Appliance 自動佈署• Sqoop 與 MS SQL 連結• Excel 與 Hive 連結

Page 40: Hadoop 與 SQL 的甜蜜連結

One Service顧問服務

One Application分析應用系統

One Platform處理平台

Etu Consulting商業暨科技顧問Etu Consulting商業暨科技顧問

Etu Recommender精準推薦應用Etu Recommender精準推薦應用

Etu Appliance巨量資料處理解決方案Etu Appliance巨量資料處理解決方案

Page 41: Hadoop 與 SQL 的甜蜜連結

Follow Us: 歡迎加入 Etu Taiwan Facebook 粉絲專頁

http://www.facebook.com/etusolution