SlideShare ist ein Scribd-Unternehmen logo
1 von 43
monster.supreme@gmail.com
Agenda 
• Hadoop 介紹 
• HDInsight 介紹 
• HDInsight 操作 
HDInsight 是Microsoft 在Azure 上頭提供的Hadoop 服務,讓以往繁瑣的Hadoop 
Cluster 設定,變成只是幾個簡單的精靈頁面操作。Hadoop 的HDFS 分散式檔案系 
統,跟Azure 的Storage 整合在一起,MapReduce 應用程式則是直接丟到Cluster 
內的各個Windows Server 虛擬機器上面執行。這個Session 主要就是帶領大家在 
Microsoft Azure 上頭從無到有,建置自己的Hadoop Cluster,進行基本的Hadoop 
應用操作。 
2
Bio 
• 在Java SE 與Java EE 領域有十多年的講師教學經驗,熟悉XML/Web 
Services、Design Patterns、EJB/JPA 等Java EE 規格, 
Struts/Spring/Hibernate 等Open Source Framework,與JBoss AS、 
GlassFish 等Application Server。 
• 自認為會的技術不多,但是學不會的也不多,最擅長把老闆交代的工 
作,以及找不到老師教的技術,想辦法變成自己的專長。 
• 目前負責Java 與.NET 雲端運算相關技術的推廣,主要包括Hadoop 
Platform 與NoSQL 等Big Data 相關應用,Microsoft Azure、Google 
App Engine、與CloudBees 等雲端平台的運用,以及iOS、Android、 
Windows Phone 等Smart Phone 的應用程式開發。 
3
資訊工業策進會數位教育研究所資訊技術訓練中心 
http://www.iiiedu.org.tw/taipei 
4
Hadoop 介紹 
5
• 由開發Lucene/Nutch 的Doug Cutting 負責 
• Lucene 是Text Indexing and Searching Lib 
• Nutch 是Web Search Engine 
• 參考Google 2003/2004 年發表的論文來開發 
• 2006 年從Nutch 獨立出來,稱之為Hadoop 
• 2008 年變成Apache 的Top-Level Project 
• Hadoop 是Doug 兒子黃色大象玩偶的名字 
• 2009 年Doug 加入Cloudera 擔任Architect 
• 2011 年Yahoo! 內部的Hadoop 團隊Spin Off 成立 
Hortonworks 
Hadoop 簡史 
6
Hadoop 特色vs. 使用情境 
特色: 
• Accessible:普通PC 或VM 組成的Cluster 就可以跑 
• Robust:所以要特別處理普通PC 比較容易掛掉的問題 
• Scalable:隨著資料量增加,加入新機器就可以 
• Simple:透過MapReduce 可以輕易寫出平行處理的程式 
使用情境 
• 具備幾千個Node 的Scalability 
• 把軟硬體發生Failure 當成家常便飯 
• 要處理的檔案多少不是重點,但是每個最好都很大 
• 適合只會寫入一次/只有一人寫入,但是會讀取很多次 
7
Hadoop 平台 
• 以Java 開發,但是不支援Java SE 6 之前的JDK 版本 
• Linux 平台是一個Hadoop 支援的Development 與Production 
Platform 
• Win32 以前可以是個Development Platform 
• 因為Microsoft 與Hortonworks 合作,先把Hadoop 移植到Windows 
平台,再把Hadoop 移植到Microsoft Azure,稱為HDInsight,所以 
現在Windows 也可以是個Production Platform 
8
什麼是HDFS 
• Self-Healing、Distributed File System 
• 以Block 方式儲存資料,打破Disk 實體限制 
• 透過Replication 的方式實現Reliability 
• 提供熟悉的操作介面,以及可以客製化的RESTful API 
9
什麼是MapReduce 
• 一個Computing Model 
• 把一個處理大量資料的Job,拆解成許多可以在一堆Server 
平行處理的Task 
• 把Code 往Data 所在的Server 搬移,減少Network Traffic 
• 各個Task 執行的結果,會整合在一起,得到最終的結果 
10
MapReduce 的Hello, Word Count! 
11
Hadoop 的Ecosystem 
12
Hive 
• 由Facebook 開發 
• SQL on Hadoop 
• Hive 會把HiveQL 查詢轉譯為MapReduce 或Tez Job 
• 以前因為MapReduce 的Overhead 很大,比較不適合用在 
Real-Time Analysis,現在透過Tez 已經取得大幅度的改善 
• 透過ODBC 跟Hive 整合,擴大了可以使用Hadoop 的族群 
13
Pig 
• 由Yahoo! 開發 
• Scripting Language for Hadoop 
• 提供Pig Latin 語言,在Grunt Shell 進行互動 
• 透過一系列的Relation 宣告,對資料進行轉換,每個轉換都 
是一個MapReduce Job 
• 通常用在ETL 階段,將外部資料轉入Hadoop 
14
Sqoop 
• 取SQL to Hadoop 之意 
• 由Cloudera 開發,現在是Apache 專案 
• Get Data to/from SQL Database 
• 是RDBMS 與Hadoop 間的匯入匯出工具 
• 底層一樣是透過MapReduce 機制運作 
• 提供一般的Connector,透過JDBC 建立Connection 
• MySQL 與PostgreSQL 可以使用支援特殊語法的Fast 
Connector 
15
Hadoop Distribution 
• Apache 有Apache BigTop 
• Cloudera 有Cloudera Distribution for Hadoop (CDH) 
• Oracle 有Oracle Big Data Appliance 
• Intel 以前有Intel Distribution for Hadoop (IDH),現在是直接 
與Cloudera 合作 
• MapR 有MapR Distribution for Apache Hadoop (M3/M5/M7) 
• Hortonworks 有Hortonworks Data Platform (HDP) 
• Microsoft 有Microsoft HDInsight 
• … 
16
HDInsight 介紹
Microsoft 的Big Data Solution 
18
什麼是HDInsight 
• 2012 年10 月發佈 
• 以Hortonworks Data Platform (HDP) 穩定的平台為基礎 
• 結合Microsoft Windows 簡易操作 
• 分為Microsoft Azure HDInsight Service 與Microsoft HDInsight 
Emulator for Azure 兩種 
19
HDInsight Ecosystem 
20
HDInsight vs. Hadoop 
21
透過Web PI 安裝HDInsight Emulator 
http://www.microsoft.com/web/gallery/install.aspx?appid=HDINSIGHT 
22
HDInsight Emulator 相關服務 
23
Cluster 為什麼不直接用Azure HDInsight 
• 免安裝,只要有Browser 就可以使用 
24
Data 為什麼不直接放在Azure Blob Storage 
25 
/example/data/gutenberg 
wasb:///example/data/gutenberg 
wasb://CONTAINER@STORAGEACCOUNT.blob.core.windows.net/example/data/gutenberg
HDInsight 操作 
26
Demo 
• 建立Azure Blob Storage 
• 在Azure Blob Storgae 裡頭建立Container 
• 建立HDInsight Cluster 
• 開啟叢集連線能力 
• 設定遠端桌面 
• MapReduce 示範 
• 上傳測試資料到Container 
• Hive 示範 
27
建立Azure Blob Storage 
28
在Azure Blob Storgae 裡頭建立Container 
29
建立HDInsight Cluster 
30
叢集連線能力底下的啟用遠端 
31
設定遠端桌面(帳號最多可用七天) 
32
遠端桌面連線 
33
檢查MapReduce 測試資料 
34
MapReduce 示範 
35 
hadoop jar hadoop-mapreduce-examples.jar wordcount 
/example/data/gutenberg 
/example/data/wordcountoutput
用CloudBerry Explorer 上傳測試資料到Container 
36
按下管理叢集可以切換到Hive Web Interface 
37
Hive 示範 
create external table movies(title string, year string) 
row format delimited 
fields terminated by 't' 
lines terminated by 'n'; 
location '/movies'; 
select count(*) from movies; 
select title, size(split(title, ' ')) from movies 
where year = 2000; 
select year, count(*) from movies group by year; 
drop table movies; 
38
Hive 輸出檔案注意事項 
insert overwrite directory 'moviesoutput' 
select concat_ws(',', cast(size(split(title, ' ')) as string), 
cast(count(*) as string)) 
from movies 
group by size(split(title, ' ')); 
39 
• 輸出放在/user/CLUSTER帳號目錄之下 
• 檔名為000000_0、000001_0、…,視Reducer 數目而定 
• 使用Unix 換行方式(n) 
• 欄位分隔符號預設為^A (001),可以透過concat_ws 調整 
• 欄位最好先透過cast 轉換型別為String,方便輸出
Microsoft 商業智慧工具 
http://www.microsoft.com/taiwan/sqlserver/big-data-solution.aspx 
40
圖表化的資料呈現方式 
41
HDInsight + HBase 定價 
42
43

Weitere ähnliche Inhalte

Was ist angesagt?

Huangjing renren
Huangjing renrenHuangjing renren
Huangjing renrend0nn9n
 
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
 
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
 
大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術大資料趨勢介紹與相關使用技術
大資料趨勢介紹與相關使用技術Wei-Yu Chen
 
Hadoop Map Reduce 程式設計
Hadoop Map Reduce 程式設計Hadoop Map Reduce 程式設計
Hadoop Map Reduce 程式設計Wei-Yu Chen
 
RxJS 6 新手入門
RxJS 6 新手入門RxJS 6 新手入門
RxJS 6 新手入門Will Huang
 
使用Ubuntu架設hadoop
使用Ubuntu架設hadoop使用Ubuntu架設hadoop
使用Ubuntu架設hadooptaishanla
 
前端自動化工具
前端自動化工具前端自動化工具
前端自動化工具國昭 張
 
Hadoop ecosystem - hadoop 生態系
Hadoop ecosystem - hadoop 生態系Hadoop ecosystem - hadoop 生態系
Hadoop ecosystem - hadoop 生態系Wei-Yu Chen
 
Hadoop 與 SQL 的甜蜜連結
Hadoop 與 SQL 的甜蜜連結Hadoop 與 SQL 的甜蜜連結
Hadoop 與 SQL 的甜蜜連結James Chen
 
Spark sql培训
Spark sql培训Spark sql培训
Spark sql培训Jiang Yu
 
Mongo db 簡介
Mongo db 簡介Mongo db 簡介
Mongo db 簡介昱劭 劉
 
分布式索引构建
分布式索引构建分布式索引构建
分布式索引构建智杰 付
 
快速入坑 Node.js - 0613 SITCON 雲林定期聚
快速入坑 Node.js - 0613 SITCON 雲林定期聚快速入坑 Node.js - 0613 SITCON 雲林定期聚
快速入坑 Node.js - 0613 SITCON 雲林定期聚Lorex L. Yang
 
D2_node在淘宝的应用实践_pdf版
D2_node在淘宝的应用实践_pdf版D2_node在淘宝的应用实践_pdf版
D2_node在淘宝的应用实践_pdf版Jackson Tian
 
Hadoop-分布式数据平台
Hadoop-分布式数据平台Hadoop-分布式数据平台
Hadoop-分布式数据平台Jacky Chi
 
FHIR Server 安裝與使用
FHIR Server 安裝與使用FHIR Server 安裝與使用
FHIR Server 安裝與使用Lorex L. Yang
 
Hadoop 0.20 程式設計
Hadoop 0.20 程式設計Hadoop 0.20 程式設計
Hadoop 0.20 程式設計Wei-Yu Chen
 
Where We Are Today with Deep Learning and Kubernetes - KEUC2017(Shanghai)
Where We Are Today with Deep Learning and Kubernetes - KEUC2017(Shanghai)Where We Are Today with Deep Learning and Kubernetes - KEUC2017(Shanghai)
Where We Are Today with Deep Learning and Kubernetes - KEUC2017(Shanghai)Jiang Jun
 

Was ist angesagt? (20)

Huangjing renren
Huangjing renrenHuangjing renren
Huangjing renren
 
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
 
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 Map Reduce 程式設計
Hadoop Map Reduce 程式設計Hadoop Map Reduce 程式設計
Hadoop Map Reduce 程式設計
 
RxJS 6 新手入門
RxJS 6 新手入門RxJS 6 新手入門
RxJS 6 新手入門
 
Mongo db 特性
Mongo db 特性Mongo db 特性
Mongo db 特性
 
使用Ubuntu架設hadoop
使用Ubuntu架設hadoop使用Ubuntu架設hadoop
使用Ubuntu架設hadoop
 
前端自動化工具
前端自動化工具前端自動化工具
前端自動化工具
 
Hadoop ecosystem - hadoop 生態系
Hadoop ecosystem - hadoop 生態系Hadoop ecosystem - hadoop 生態系
Hadoop ecosystem - hadoop 生態系
 
Hadoop 與 SQL 的甜蜜連結
Hadoop 與 SQL 的甜蜜連結Hadoop 與 SQL 的甜蜜連結
Hadoop 與 SQL 的甜蜜連結
 
Spark sql培训
Spark sql培训Spark sql培训
Spark sql培训
 
Mongo db 簡介
Mongo db 簡介Mongo db 簡介
Mongo db 簡介
 
分布式索引构建
分布式索引构建分布式索引构建
分布式索引构建
 
快速入坑 Node.js - 0613 SITCON 雲林定期聚
快速入坑 Node.js - 0613 SITCON 雲林定期聚快速入坑 Node.js - 0613 SITCON 雲林定期聚
快速入坑 Node.js - 0613 SITCON 雲林定期聚
 
D2_node在淘宝的应用实践_pdf版
D2_node在淘宝的应用实践_pdf版D2_node在淘宝的应用实践_pdf版
D2_node在淘宝的应用实践_pdf版
 
Hadoop-分布式数据平台
Hadoop-分布式数据平台Hadoop-分布式数据平台
Hadoop-分布式数据平台
 
FHIR Server 安裝與使用
FHIR Server 安裝與使用FHIR Server 安裝與使用
FHIR Server 安裝與使用
 
Hadoop 0.20 程式設計
Hadoop 0.20 程式設計Hadoop 0.20 程式設計
Hadoop 0.20 程式設計
 
Where We Are Today with Deep Learning and Kubernetes - KEUC2017(Shanghai)
Where We Are Today with Deep Learning and Kubernetes - KEUC2017(Shanghai)Where We Are Today with Deep Learning and Kubernetes - KEUC2017(Shanghai)
Where We Are Today with Deep Learning and Kubernetes - KEUC2017(Shanghai)
 

Andere mochten auch

Spring Data MongoDB 介紹
Spring Data MongoDB 介紹Spring Data MongoDB 介紹
Spring Data MongoDB 介紹Kuo-Chun Su
 
Hadoop 設定與配置
Hadoop 設定與配置Hadoop 設定與配置
Hadoop 設定與配置鳥 藍
 
Deduccion terrenos en hoteleria
Deduccion terrenos en hoteleriaDeduccion terrenos en hoteleria
Deduccion terrenos en hoteleriaAdval1967
 
Initial Proposal for Project A.R.E.S.
Initial Proposal for Project A.R.E.S.Initial Proposal for Project A.R.E.S.
Initial Proposal for Project A.R.E.S.Sung (Stephen) Kim
 
Daftar sekolah ikatan dinas
Daftar sekolah ikatan dinasDaftar sekolah ikatan dinas
Daftar sekolah ikatan dinasSUKAWANGI03
 
Unidad 4. la materia
Unidad 4. la materia  Unidad 4. la materia
Unidad 4. la materia RobertoMillas
 
Project A.R.E.S. Outreach Program Presentation: Frederick Douglass High School
Project A.R.E.S. Outreach Program Presentation: Frederick Douglass High SchoolProject A.R.E.S. Outreach Program Presentation: Frederick Douglass High School
Project A.R.E.S. Outreach Program Presentation: Frederick Douglass High SchoolSung (Stephen) Kim
 
Hadoop, the Apple of Our Eyes (這些年,我們一起追的 Hadoop)
Hadoop, the Apple of Our Eyes (這些年,我們一起追的 Hadoop)Hadoop, the Apple of Our Eyes (這些年,我們一起追的 Hadoop)
Hadoop, the Apple of Our Eyes (這些年,我們一起追的 Hadoop)Kuo-Chun Su
 
Didactica presentación
Didactica presentaciónDidactica presentación
Didactica presentaciónBriseyda Perez
 

Andere mochten auch (16)

Spring Data MongoDB 介紹
Spring Data MongoDB 介紹Spring Data MongoDB 介紹
Spring Data MongoDB 介紹
 
Hadoop 設定與配置
Hadoop 設定與配置Hadoop 設定與配置
Hadoop 設定與配置
 
Deduccion terrenos en hoteleria
Deduccion terrenos en hoteleriaDeduccion terrenos en hoteleria
Deduccion terrenos en hoteleria
 
Teorias de la justicia
Teorias de la justiciaTeorias de la justicia
Teorias de la justicia
 
Keeping it Simple
Keeping it SimpleKeeping it Simple
Keeping it Simple
 
DISSERTATION DONE
DISSERTATION DONEDISSERTATION DONE
DISSERTATION DONE
 
Inteligencia artificial
Inteligencia artificialInteligencia artificial
Inteligencia artificial
 
Initial Proposal for Project A.R.E.S.
Initial Proposal for Project A.R.E.S.Initial Proposal for Project A.R.E.S.
Initial Proposal for Project A.R.E.S.
 
Matriz jacobiana
Matriz jacobianaMatriz jacobiana
Matriz jacobiana
 
EOC Oriente Enero 2017
EOC Oriente Enero 2017EOC Oriente Enero 2017
EOC Oriente Enero 2017
 
Daftar sekolah ikatan dinas
Daftar sekolah ikatan dinasDaftar sekolah ikatan dinas
Daftar sekolah ikatan dinas
 
Unidad 4. la materia
Unidad 4. la materia  Unidad 4. la materia
Unidad 4. la materia
 
Project A.R.E.S. Outreach Program Presentation: Frederick Douglass High School
Project A.R.E.S. Outreach Program Presentation: Frederick Douglass High SchoolProject A.R.E.S. Outreach Program Presentation: Frederick Douglass High School
Project A.R.E.S. Outreach Program Presentation: Frederick Douglass High School
 
Hadoop, the Apple of Our Eyes (這些年,我們一起追的 Hadoop)
Hadoop, the Apple of Our Eyes (這些年,我們一起追的 Hadoop)Hadoop, the Apple of Our Eyes (這些年,我們一起追的 Hadoop)
Hadoop, the Apple of Our Eyes (這些年,我們一起追的 Hadoop)
 
Bhupinder Singh Chadha
Bhupinder Singh ChadhaBhupinder Singh Chadha
Bhupinder Singh Chadha
 
Didactica presentación
Didactica presentaciónDidactica presentación
Didactica presentación
 

Ähnlich wie HDInsight for Microsoft Users

Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界Xu Wang
 
架設Hadoop叢集以及mapreduce開發環境
架設Hadoop叢集以及mapreduce開發環境架設Hadoop叢集以及mapreduce開發環境
架設Hadoop叢集以及mapreduce開發環境Phate334
 
云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路li luo
 
Hadoop Deployment Model @ OSDC.TW
Hadoop Deployment Model @ OSDC.TWHadoop Deployment Model @ OSDC.TW
Hadoop Deployment Model @ OSDC.TWJazz Yao-Tsung Wang
 
51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundry51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundryHong Cai
 
Hadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research InstituteHadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research InstituteXu Wang
 
雲端技術的新趨勢
雲端技術的新趨勢雲端技術的新趨勢
雲端技術的新趨勢Ben Huang
 
Ruby on rails部署
Ruby on rails部署Ruby on rails部署
Ruby on rails部署Deng Peng
 
讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術Yu Lung Shao
 
Couchbase introduction - Chinese
Couchbase introduction - Chinese Couchbase introduction - Chinese
Couchbase introduction - Chinese Vickie Zeng
 
開放原始碼 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!
 
分布式存储的元数据设计
分布式存储的元数据设计分布式存储的元数据设计
分布式存储的元数据设计LI Daobing
 
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
 
2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍Li Jiansheng
 
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索liu sheng
 
Bigdata introduction
Bigdata introductionBigdata introduction
Bigdata introductionTechwiser
 
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場twMVC
 

Ähnlich wie HDInsight for Microsoft Users (20)

Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界Hyper: 让Pod以VM为边界
Hyper: 让Pod以VM为边界
 
架設Hadoop叢集以及mapreduce開發環境
架設Hadoop叢集以及mapreduce開發環境架設Hadoop叢集以及mapreduce開發環境
架設Hadoop叢集以及mapreduce開發環境
 
云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路云梯的多Namenode和跨机房之路
云梯的多Namenode和跨机房之路
 
Hadoop Deployment Model @ OSDC.TW
Hadoop Deployment Model @ OSDC.TWHadoop Deployment Model @ OSDC.TW
Hadoop Deployment Model @ OSDC.TW
 
51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundry51 cto下载 51cto信息图:openshift vs cloudfoundry
51 cto下载 51cto信息图:openshift vs cloudfoundry
 
Hadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research InstituteHadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research Institute
 
雲端技術的新趨勢
雲端技術的新趨勢雲端技術的新趨勢
雲端技術的新趨勢
 
Ruby on rails部署
Ruby on rails部署Ruby on rails部署
Ruby on rails部署
 
讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術讓軟體開發與應用更自由 - 使用 Docker 技術
讓軟體開發與應用更自由 - 使用 Docker 技術
 
App house
App houseApp house
App house
 
Couchbase introduction - Chinese
Couchbase introduction - Chinese Couchbase introduction - Chinese
Couchbase introduction - Chinese
 
雲端技術的新趨勢
雲端技術的新趨勢雲端技術的新趨勢
雲端技術的新趨勢
 
開放原始碼 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)
 
分布式存储的元数据设计
分布式存储的元数据设计分布式存储的元数据设计
分布式存储的元数据设计
 
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
 
2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍2015中国软件技术大会-开放云介绍
2015中国软件技术大会-开放云介绍
 
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
 
Bigdata introduction
Bigdata introductionBigdata introduction
Bigdata introduction
 
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場
 
Hadoop 介紹 20141024
Hadoop 介紹 20141024Hadoop 介紹 20141024
Hadoop 介紹 20141024
 

HDInsight for Microsoft Users

  • 2. Agenda • Hadoop 介紹 • HDInsight 介紹 • HDInsight 操作 HDInsight 是Microsoft 在Azure 上頭提供的Hadoop 服務,讓以往繁瑣的Hadoop Cluster 設定,變成只是幾個簡單的精靈頁面操作。Hadoop 的HDFS 分散式檔案系 統,跟Azure 的Storage 整合在一起,MapReduce 應用程式則是直接丟到Cluster 內的各個Windows Server 虛擬機器上面執行。這個Session 主要就是帶領大家在 Microsoft Azure 上頭從無到有,建置自己的Hadoop Cluster,進行基本的Hadoop 應用操作。 2
  • 3. Bio • 在Java SE 與Java EE 領域有十多年的講師教學經驗,熟悉XML/Web Services、Design Patterns、EJB/JPA 等Java EE 規格, Struts/Spring/Hibernate 等Open Source Framework,與JBoss AS、 GlassFish 等Application Server。 • 自認為會的技術不多,但是學不會的也不多,最擅長把老闆交代的工 作,以及找不到老師教的技術,想辦法變成自己的專長。 • 目前負責Java 與.NET 雲端運算相關技術的推廣,主要包括Hadoop Platform 與NoSQL 等Big Data 相關應用,Microsoft Azure、Google App Engine、與CloudBees 等雲端平台的運用,以及iOS、Android、 Windows Phone 等Smart Phone 的應用程式開發。 3
  • 6. • 由開發Lucene/Nutch 的Doug Cutting 負責 • Lucene 是Text Indexing and Searching Lib • Nutch 是Web Search Engine • 參考Google 2003/2004 年發表的論文來開發 • 2006 年從Nutch 獨立出來,稱之為Hadoop • 2008 年變成Apache 的Top-Level Project • Hadoop 是Doug 兒子黃色大象玩偶的名字 • 2009 年Doug 加入Cloudera 擔任Architect • 2011 年Yahoo! 內部的Hadoop 團隊Spin Off 成立 Hortonworks Hadoop 簡史 6
  • 7. Hadoop 特色vs. 使用情境 特色: • Accessible:普通PC 或VM 組成的Cluster 就可以跑 • Robust:所以要特別處理普通PC 比較容易掛掉的問題 • Scalable:隨著資料量增加,加入新機器就可以 • Simple:透過MapReduce 可以輕易寫出平行處理的程式 使用情境 • 具備幾千個Node 的Scalability • 把軟硬體發生Failure 當成家常便飯 • 要處理的檔案多少不是重點,但是每個最好都很大 • 適合只會寫入一次/只有一人寫入,但是會讀取很多次 7
  • 8. Hadoop 平台 • 以Java 開發,但是不支援Java SE 6 之前的JDK 版本 • Linux 平台是一個Hadoop 支援的Development 與Production Platform • Win32 以前可以是個Development Platform • 因為Microsoft 與Hortonworks 合作,先把Hadoop 移植到Windows 平台,再把Hadoop 移植到Microsoft Azure,稱為HDInsight,所以 現在Windows 也可以是個Production Platform 8
  • 9. 什麼是HDFS • Self-Healing、Distributed File System • 以Block 方式儲存資料,打破Disk 實體限制 • 透過Replication 的方式實現Reliability • 提供熟悉的操作介面,以及可以客製化的RESTful API 9
  • 10. 什麼是MapReduce • 一個Computing Model • 把一個處理大量資料的Job,拆解成許多可以在一堆Server 平行處理的Task • 把Code 往Data 所在的Server 搬移,減少Network Traffic • 各個Task 執行的結果,會整合在一起,得到最終的結果 10
  • 13. Hive • 由Facebook 開發 • SQL on Hadoop • Hive 會把HiveQL 查詢轉譯為MapReduce 或Tez Job • 以前因為MapReduce 的Overhead 很大,比較不適合用在 Real-Time Analysis,現在透過Tez 已經取得大幅度的改善 • 透過ODBC 跟Hive 整合,擴大了可以使用Hadoop 的族群 13
  • 14. Pig • 由Yahoo! 開發 • Scripting Language for Hadoop • 提供Pig Latin 語言,在Grunt Shell 進行互動 • 透過一系列的Relation 宣告,對資料進行轉換,每個轉換都 是一個MapReduce Job • 通常用在ETL 階段,將外部資料轉入Hadoop 14
  • 15. Sqoop • 取SQL to Hadoop 之意 • 由Cloudera 開發,現在是Apache 專案 • Get Data to/from SQL Database • 是RDBMS 與Hadoop 間的匯入匯出工具 • 底層一樣是透過MapReduce 機制運作 • 提供一般的Connector,透過JDBC 建立Connection • MySQL 與PostgreSQL 可以使用支援特殊語法的Fast Connector 15
  • 16. Hadoop Distribution • Apache 有Apache BigTop • Cloudera 有Cloudera Distribution for Hadoop (CDH) • Oracle 有Oracle Big Data Appliance • Intel 以前有Intel Distribution for Hadoop (IDH),現在是直接 與Cloudera 合作 • MapR 有MapR Distribution for Apache Hadoop (M3/M5/M7) • Hortonworks 有Hortonworks Data Platform (HDP) • Microsoft 有Microsoft HDInsight • … 16
  • 18. Microsoft 的Big Data Solution 18
  • 19. 什麼是HDInsight • 2012 年10 月發佈 • 以Hortonworks Data Platform (HDP) 穩定的平台為基礎 • 結合Microsoft Windows 簡易操作 • 分為Microsoft Azure HDInsight Service 與Microsoft HDInsight Emulator for Azure 兩種 19
  • 22. 透過Web PI 安裝HDInsight Emulator http://www.microsoft.com/web/gallery/install.aspx?appid=HDINSIGHT 22
  • 24. Cluster 為什麼不直接用Azure HDInsight • 免安裝,只要有Browser 就可以使用 24
  • 25. Data 為什麼不直接放在Azure Blob Storage 25 /example/data/gutenberg wasb:///example/data/gutenberg wasb://CONTAINER@STORAGEACCOUNT.blob.core.windows.net/example/data/gutenberg
  • 27. Demo • 建立Azure Blob Storage • 在Azure Blob Storgae 裡頭建立Container • 建立HDInsight Cluster • 開啟叢集連線能力 • 設定遠端桌面 • MapReduce 示範 • 上傳測試資料到Container • Hive 示範 27
  • 29. 在Azure Blob Storgae 裡頭建立Container 29
  • 35. MapReduce 示範 35 hadoop jar hadoop-mapreduce-examples.jar wordcount /example/data/gutenberg /example/data/wordcountoutput
  • 38. Hive 示範 create external table movies(title string, year string) row format delimited fields terminated by 't' lines terminated by 'n'; location '/movies'; select count(*) from movies; select title, size(split(title, ' ')) from movies where year = 2000; select year, count(*) from movies group by year; drop table movies; 38
  • 39. Hive 輸出檔案注意事項 insert overwrite directory 'moviesoutput' select concat_ws(',', cast(size(split(title, ' ')) as string), cast(count(*) as string)) from movies group by size(split(title, ' ')); 39 • 輸出放在/user/CLUSTER帳號目錄之下 • 檔名為000000_0、000001_0、…,視Reducer 數目而定 • 使用Unix 換行方式(n) • 欄位分隔符號預設為^A (001),可以透過concat_ws 調整 • 欄位最好先透過cast 轉換型別為String,方便輸出
  • 42. HDInsight + HBase 定價 42
  • 43. 43