43

Azure Data Lake 簡介

Embed Size (px)

Citation preview

Page 1: Azure Data Lake 簡介
Page 2: Azure Data Lake 簡介

應用系統的資料來源

1985 1990 1995 2000 2005 2010 2015 2020

網際網路連結

數位類比

Page 3: Azure Data Lake 簡介

$1.6兆領先運用資料資產的公司將創造出額外的商業價值

Source: IDC, 2014

10%的公司, 在2020年預期將有一個藉由資料資產營利的高獲益事業單位

Source: Gartner, 2016

Page 4: Azure Data Lake 簡介

ETL pipeline

特定 ETL 工具 (e.g. SSIS)

定義 schema

查詢

結果

關連式資料

業務應用系統

傳統商業資料分析流程

所有沒有立即需要的資料被丟棄或封存

4

Page 5: Azure Data Lake 簡介

無限期的儲存 分析 察看結果從所有資料來源取得

資料

Iterate

新的大數據思維: 所有的資料都有價值

• 所有的資料都有潛在價值

• 資料需要儲藏

• 沒有定義好的schema—儲存原始格式

• Schema 在查詢時才被指派跟轉化(schema-on-read).

• 應用程式跟使用者決定適合的資料解譯方式

5

Page 6: Azure Data Lake 簡介

大數據 (Big Data) 定義

Big data is high-Volume, high-Velocity

and/or high-Variety information assets

that demand cost-effective, innovative

forms of information processing that

enable enhanced insight, decision

making, and process automation.

– Gartner, Big Data Definition*

* Gartner, Big Data (Stamford, CT.: Gartner, 2016), URL: http://www.gartner.com/it-glossary/big-data/

Volume, Velocity, Variety(資料量大, 資料流速快, 資料型態變化大)

Page 7: Azure Data Lake 簡介

微軟內部面對大數據的挑戰因應微軟內部的資料分析需求

所以我們建立了…

• 資料湖讓所有人可以把資料放進去

• 提供給開發人員友善的工具

• 可讓大家協同合作的機器學習工具

結果…

• 在微軟內部不同產品 ( Office, Xbox Live, Azure, Windows, Bing and Skype) 使用

• 超過一萬個開發人員使用在不同資料處理分析情境上

• 管理 EB (Exabytes) 級的資料

2010 2011 2012 2013 2014 2015 2016

微軟內部數據量

Windows

SMSG

Live

Bing

CRM/Dynamics

Xbox Live

Office365

Malware Protection Microsoft Stores

Commerce Risk

Skype

LCA

Exchange

Yammer

Page 8: Azure Data Lake 簡介

Microsoft 現在將自己過去因處理大數據而發展出來的技術方案, 重新整理調整後提供給客戶來使用

Technology. Cost. Culture.

Page 9: Azure Data Lake 簡介

行動

People

Automated Systems

Apps

Web

Mobile

Bots

智慧服務

儀錶板 & 資料視覺化

Cortana

Bot

Framework

Cognitive

Services

Power BI

資訊管理

Event Hubs

Data Catalog

Data Factory

機器學習跟分析

HDInsight

(Hadoop and

Spark)

Stream

Analytics

智慧服務

Data Lake

Analytics

Machine

Learning

巨量資料儲存

SQL Data

Warehouse

Data Lake

Store

資料來源

應用程式

感知器

與裝置

資料

IoT Hub

Page 10: Azure Data Lake 簡介

巨量資料儲存 機器學習跟分析

行動

People

Automated Systems

Apps

Web

Mobile

Bots

智慧服務

儀錶板 & 資料視覺化

Cortana

Bot

Framework

Cognitive

Services

Power BI

資訊管理

Event Hubs

Data Catalog

Data Factory

HDInsight

(Hadoop and

Spark)

Stream

Analytics

智慧服務

Data Lake

Analytics

Machine

Learning

SQL Data

Warehouse

Data Lake

Store

資料來源

應用程式

感知器

與裝置

資料

IoT Hub

Page 11: Azure Data Lake 簡介

結構性資料

非結構性資料

從數MB 到數百PB 大小

Page 12: Azure Data Lake 簡介

Data Lake Store

Page 13: Azure Data Lake 簡介

Azure Data Lake Store

針對大數據分析需求設計的超級規模資料儲存庫

雲端上提供的Hadoop File System (HDFS)

沒有資料量上限

儲存任何資料的原始格式

企業等級的權限管控跟加密

針對分析的需求作效能最佳化

Page 14: Azure Data Lake 簡介

具高度延展性, 分散式, 支援平行處理的雲端檔案系統支援多種的資料分析框架

什麼是 Azure Data Lake Store?

LOB Applications

SocialDevices

Clickstream

Sensors

Video

Web

Relational

HDInsight

ADL Analytics

Machine Learning

Spark

R

14

ADL Store

Page 15: Azure Data Lake 簡介

ADL Store 無限規模架構

ADL Store 中的檔案被切片分散到不同blocks

Blocks 被分散到後端儲存系統中的不同的data

nodes

在有足夠的data nodes狀況下, 任何大小的檔案可以被儲存˙

Azure 雲端上的後端儲存系統概念上可以有無限的資源

每個檔案的Metadata也被同樣的系統儲存

15

Azure Data Lake Store file

…Block 1 Block 2 Block 2

後端儲存系統

Data node Data node Data node Data node Data nodeData node

Block Block Block Block Block Block

Page 16: Azure Data Lake 簡介

ADL Store 提供大量的傳輸量

透過平行讀取ADL Store提供大量的傳輸量

每個讀取動作都在data notes 上藉由平行讀取同時進行

Read operation

16

Azure Data Lake Store file

…Block 1 Block 2 Block 2

後端儲存系統

Data node Data node Data node Data node Data nodeData node

Block Block Block Block Block Block

Page 17: Azure Data Lake 簡介

ADL Store 資料安全: Role-based 存取控制

每個檔案跟目錄都被指派給一個擁有者(owner)跟群組(group )

檔案跟目錄都可以有不同的權限(read(r), write(w), execute(x)) 給擁有者(owner)跟群組(group )還有其他使用者(other)

詳細的存取控制規則(ACLs)可以被指派到特定的使用者及群組

17

Page 18: Azure Data Lake 簡介

ADL Store 是 HDFS-相容檔案系統透過 WebHDFS 端點 Azure Data Lake Store 是一個 Hadoop相容檔案系統, 可以無縫的整合 Azure HDInsight

Map reduceHBase

transactionsAny HDFS applicationHive query

Azure HDInsight

Hadoop WebHDFS clientHadoop WebHDFS client

WebHDFS

endpointWebHDFS

REST API

WebHDFS

REST API

18

ADL Store file ADL Store file ADL Store file ADL Store fileADL Store file

Azure Data Lake Store

Page 19: Azure Data Lake 簡介

ADL Store: 高可用性及可靠度

• 每個區域(region) Azure 將資料物件存放3份分別在不同的失敗(fault) 及升級(upgrade) 領域(domains)

• 所有操作動作都複製到另外兩份, 並確保複製完成後才 commit.

• 可以從任何一個資料副本進行讀取

Data is never lost or unavailable

even under failures

Replica 1

Replica 2 Replica 3

Fault/upgradedomains

Write Commit

Page 20: Azure Data Lake 簡介

ADL Store: IngressData can be ingested into Azure Data Lake Store from a variety of sources

Server logs

Azure Event Hub

Apache

Flume

Azure Storage Blobs

Custom programs

.NET SDK

JavaScript CLI

Azure Portal

Azure PowerShell

Azure Data Factory

Apache Sqoop

Azure SQL DB

Azure SQL DW

Azure tables

Table Storage

On-premises databases

SQL

20

ADL Store

ADLS Built-in

copy service

Page 21: Azure Data Lake 簡介

ADL Store: EgressData can be exported from Azure Data Lake Store into numerous targets/sinks

Azure SQL DB

SQL

Azure SQL DW

Azure Tables

Table Storage

On-premises databases

Azure Data Factory

Apache Sqoop

Azure Storage Blobs

Custom programs

.NET SDK

JavaScript CLI

Azure Portal

Azure PowerShell

21

Built-in

ADLS copy service

ADL Store

Page 22: Azure Data Lake 簡介

Data Lake Store: 技術規格安全性 資料存取需要支援授權管理

原始格式 能儲存原始資料格式以追蹤資料血統及出處

低延遲 能支援高頻率的資料操作.

能支援多種分析框架—Batch, Real-time, Streaming, ML etc.

沒有單一框架可以支援所有資料內容跟分析方式.多種分析框架

資料細節 可記載資料的詳細內容.

吞吐量 能承受像Hadoop and Spark這樣平行處理架構的資料存取需求

可靠度 高可用度及可靠度.

延展性 可容納快速增長的資料

多種資料來源 可從多種資料來源輸入資料.

Page 23: Azure Data Lake 簡介

Demo

Page 24: Azure Data Lake 簡介

Data Lake Analytics

Page 25: Azure Data Lake 簡介

企業規格的安全性

高度延展性,

可隨時調整運算效能

立即可以使用,

無須事先建置容易使用, 客製化彈性高

處理所有的資料類型

0100101001000101010100101001000

10101010010100100010101010010100

10001010101001010010001010101001

0100100010101010010100100010101

0100101001000101010100101001000

10101010010100100010101010010100

10001010101001010010001010101001

0100100010101010010100100010101

0100101001000101010100101001000

10101010010100100010101010010100

Azure Data Lake Analytics

Page 26: Azure Data Lake 簡介

Azure Data Lake Analytics新的分散式資料分析服務

基於Apache YARN上的分散式資料分析服務

每個搜尋都可以彈性的指定執行規模, 使用者可以專注在商業需求, 而不是硬體

內建 U-SQL— 可以混合使用SQL查詢語法及 C# 程式的語言

整合Visual Studio , 開發, 除錯, 調校程式碼更快速

Federated query 支援多個 Azure 資料來源

企業等級的 role based access control

Page 27: Azure Data Lake 簡介

ADL Analytics特色

• 針對大數據應用設計

• 支援多種資料來源

• 簡化管理跟維護成本

• 透過新的U-SQL 語言來處理巨量資料

27

Page 28: Azure Data Lake 簡介

ADLA直接在資料來源做查詢

• 無須移動資料, 直接將查詢任務派送到資料來源執行

• 避免查詢前必須將儲存在不同地方的大量資料透過網路搬移

• 提供單一資料檢視方式, 無論資料實際儲存在何處

• 減少資料多個副本的資料擴散(Data proliferation )問題

• 所有資料都可用單一查詢語法

• 各個資料來源可以維持原本各自的管理機制

• 將SQL查詢表示式直接在遠端SQL 資料來源執行• Filters

• Joins

U-SQL Query Query

Azure

Storage Blobs

Azure SQL

in VMs

Azure

SQL DB

Azure Data

Lake Analytics

Azure

SQL Data Warehouse

Azure

Data Lake Storage

Page 29: Azure Data Lake 簡介

Work across all cloud data

Azure Data Lake Analytics

Azure SQL DW Azure SQL DBAzure

Storage BlobsAzure

Data Lake Store

SQL Server in an Azure VM

Page 30: Azure Data Lake 簡介

U-SQL 語法SQL陳述式(Declarative)查詢

• 使用 SQL語法 : SELECT FROM WHERE with GROUP

BY/aggregation, joins, SQL analytics functions

• 容易做最佳化調校

可處理結構性及非結構性資料

• Schema 在讀檔時決定

• 支援關聯式 metadata 物件 (e.g. database, table)

高度擴充性

• 基於C# 型別系統(Type system )

• C# 表述語言(Expression language)

• 使用者自訂義 functions (U-SQL and C#)

• 使用者自訂義 aggregators (C#)

• 使用者自訂義 operators (UDO) (C#)

提供容易擴充的平行化處理及Scale-out架構

• EXTRACTOR, OUTPUTTER, PROCESSOR, REDUCER,

COMBINER, APPLIER

將查詢送到不同資料來源執行

REFERENCE MyDB.MyAssembly;

CREATE TABLE T( cid int, first_order DateTime, last_order DateTime, order_count int, order_amount float );

@o = EXTRACT oid int, cid int, odate DateTime, amount floatFROM "/input/orders.txt"USING Extractors.Csv();

@c = EXTRACT cid int, name string, city stringFROM "/input/customers.txt"USING Extractors.Csv();

@j = SELECT c.cid, MIN(o.odate) AS firstorder, MAX(o.date) AS lastorder, COUNT(o.oid) AS ordercnt, AGG<MyAgg.MySum>(c.amount) AS totalamount

FROM @c AS c LEFT OUTER JOIN @o AS o ON c.cid == o.cidWHERE c.city.StartsWith("New")

&& MyNamespace.MyFunction(o.odate) > 10GROUP BY c.cid;

OUTPUT @j TO "/output/result.txt"USING new MyData.Write();

INSERT INTO T SELECT * FROM @j;

Page 31: Azure Data Lake 簡介
Page 32: Azure Data Lake 簡介
Page 33: Azure Data Lake 簡介

Demo

Page 34: Azure Data Lake 簡介

整合 Visual Studio

整合U-SQL, Hive 及Storm

初學者容易上手

提供給專家豐富的工具

視覺化的呈現執行狀態, 並可重播執行狀態以利找出效能瓶頸及進行優化

Page 35: Azure Data Lake 簡介

Logical -> Physical Plan

每個方塊代表Vertex, 代表整體工作中的一部分任務

每個SuperVertex (aka “Stage)

中的 Vertexes 都對相同的資料做相同的動作

後面stages 中的Vertexes 有可能會跟前一個 stage的Vertexes

有關 視覺化呈現執行結構與狀態

Page 36: Azure Data Lake 簡介

透過10個平行(Parallelism)將1.87GB Json檔案資料做彙總計算- 編譯時間: 28 秒- 執行時間: 2分鐘

Page 37: Azure Data Lake 簡介

簡化管理跟維護

• 以網頁為基礎的管理介面

• 透過 PowerShell自動化排程

• 整合 Azure AD, 以角色為主的權限管控

• 監控服務操作及執行

Page 38: Azure Data Lake 簡介
Page 39: Azure Data Lake 簡介

U-SQL

GitHubMicrosoft.Analytics.Samples.Formats/

Page 40: Azure Data Lake 簡介

Azure提供多元的大數據技術架構選擇透過完整的解決方案協助企業加速創新

任何 Hadoop

技術

最佳化調校,

受管理維護的Haddop叢集

針對大數據資料整理需求設計的資料分析服務

HDP | CDH | MapR

(Azure Marketplace)

Data Lake Analytics

Azure Data Lake

Analytics

Data Lake StoreAzure Storage

控制 容易使用

Use

r A

do

ptio

n

IaaS Hadoop Managed Hadoop Big Data as-a-service

HDInsight

Page 41: Azure Data Lake 簡介

Microsoft Azure Data Lake

YARN

U-SQL

Analytics Service HDInsight

Store

HDFS

Page 42: Azure Data Lake 簡介

商業智慧產業領導者Forrester Wave: Agile BI Platforms, Q3 2015 Gartner BI MQ as of February 2016

Page 43: Azure Data Lake 簡介

Q&A