巨量資料平台: Hadoop的生態系.

Slides:



Advertisements
Similar presentations
大数据基础技术和应用. 大纲 大数据概述 大数据基础技术 工程技术 策略技术 典型应用 我们处于数据爆炸的时代 数据库 文字记录 照片 线下数据信息化 网页数据 用户行为记录 数字图像 互联网 - 移动互联网 设备监控 智能家居 摄像头 传感器 地球上至今总共的数据量: 在 2006 年,个人用户才刚刚迈.
Advertisements

電子商務:數位時代商機‧梁定澎總編輯‧前程文化 出版
电子工业出版社《云计算(第二版)》配套课件
DATE: 14/10/2009 陳威宇 格網技術組 雲端運算相關應用 (Based on Hadoop)
Big Data Ecosystem – Hadoop Distribution
大數據的學習路線 目前做不到的:機率性太高的(博奕) 大數據的核心:預測 預測來自於:分析及樣本 樣本的產生及收集 樣本的儲存 樣本的處理
顧客交易紀錄分析實務 概述 26.2 資料分析的過程 26.3 顧客交易紀錄分析說明 26.4 實作一、顧客活動剖析實務演練
淘宝海量数据产品技术架构 张轩丞(朋春) 淘宝网-数据平台与产品部.
班級:醫管3B 組別:第二組 組員:王品媛、郭雅瑄、謝淑玲、蔡孟蔙
第八讲 基于Hadoop的数据仓库Hive (PPT版本号:2016年4月6日版本)
第六章 資料倉儲與採礦技術 6.1 資料倉儲與採礦定義 6.2 資料採礦之步驟與技術分類 6.3 資料採礦在顧客關係管理之應用
“大云”大数据平台及应用 中国移动通信研究院 郭磊涛 2013年11月.
穆公(朱金清 微博:淘穆公 阿里HBase业务设计实践 穆公(朱金清 微博:淘穆公
E-Mapreduce培训系列 基本介绍.
云智慧助力在线医疗服务性能优化 —让IT运营更简单 2015年4月 云智慧科技(北京)有限公司.
OceanBase 0.4:从API到SQL 日照
云计算学习报告 报告人: 陈 霁 大规模数据处理软件Apache Hadoop.
云计算业务应用-数据挖掘.
第 11 章 網際網路與資料庫系統.
南京大学计算机科学与技术系 主讲人:黄宜华 2011年春季学期
文科计算机小公共课规划教材 Access 程序设计.
11.3 国产大数据库技术 阿里巴巴OceanBase 云创存储数据立方(DataCube)
第11章 海量信息存储 主讲:刘方明 副教授 华中科技大学计算机学院
云梯的多namenode和跨机房之路
HADOOP的高能物理分析平台 孙功星 高能物理研究所/计算中心
为教师开展大数据课程教学提供全方位、一站式服务
基于hadoop的数据仓库技术.
转正述职报告 乐恩公司 史航
何娜 求职经验交流 何娜
基于hadoop与hive的大数据分析体系构建
YARN & MapReduce 2.0 Boyu Diao
第5章 NoSQL数据库 (PPT版本号:2017年2月版本)
資料探勘工具 - Splunk介紹 報告者:曾彥志 報告日期:2015/09/18.
厦门大学数据库实验室NoSQL系列学习之
分布式系统中的关键概念及Hadoop的起源、架构、搭建
第2章 大数据处理架构Hadoop (PPT版本号:2017年2月版本)
云计算之分布式计算.
王耀聰 陳威宇 國家高速網路與計算中心(NCHC)
Goolge的云计算 分布式数据表BigTable.
基于Hadoop的数据仓库Hive.
Cloud Computing 数据处理平台-Pig.
第九讲 Hadoop架构再探讨 (2016春季学期)
CHAPTER 6 認識MapReduce.
Spark在智慧图书馆建设中的应用探索 2017年12月22日.
第一篇 数据仓库与OLAP 第一章 数据仓库基本概念
开源云计算系统简介 电子工业出版社 刘鹏主编《云计算》教材配套课件11.
Cloud Computing(雲端運算) 技術的現況與應用
斯巴達帶大家上雲端.
HBase简介与实践分享 剑英.
SQL Server 2000 数据库入门.
巨量資料分析與應用 (1) 楊立偉教授 台大工管系暨商研所 2014 Fall.
Hadoop平台與應用規劃實作 報告者:劉育維.
第5章 資料倉儲的資料建置.
从TDW-Hive到TDW-SparkSQL
Skew Join相关论文 报告人:蔡珉星 厦大数据库实验室
基于大数据的物流资源整合 福建师范大学协和学院 沈庆琼.
Homework 1(上交时间:10月14号) 倒排索引.
Cloud Computing Google云计算原理.
软件工程基础 云计算概论 刘 驰.
大数据介绍及应用案例分享 2016年7月 华信咨询设计研究院有限公司.
北極熊 華德學校 田根繩.
Spark SQL 介绍 付士涛. Spark SQL 介绍 付士涛 大纲 Architecture(架构) 像Hive一样的User Interface(用户操作界面) DataFrame的使用(1.3以前叫做SchemaRDD)
斯坦福大学调研 蒋达晟.
基于大数据平台数据管理研究 何家乐 2013年7月 中国科学院高能物理研究所.
Hadoop入门
第18章 SQL結構化查詢語言 18-1 SQL語言的基礎 18-2 SQL的查詢指令 18-3 SQL子查詢與合併查詢.
Unit 05 雲端分散式Hadoop實驗 -I M. S. Jian
瀕臨絕種—北極熊 設計者:吳柏曦 班別:5B1 學校:華德學校.
MySQL执行计划解读 胡中泉.
大数据发展的问题与方向 中国信通院云大所.
Presentation transcript:

巨量資料平台: Hadoop的生態系

課程大綱 Hadoop 起源與演進 Hadoop特色與發展現況 Hadoop ecosystem 架構 結語 Pig vs Hive Apache Sqoop幫你把SQL Data導入到Hadoop Hadoop ecosystem 架構 Apache Sqoop 邏輯架構 收集LOG就靠Apache Flume Hadoop運行任務用Apache OOZIE管理 分散式資料庫Apache HBase Apache Hbase別跟關聯式資料搞混 Apache ZooKeeper來管理Hadoop軍火 Apache Hbase 架構 分析工具Apache Mahout和R Connector就綽綽有餘 Apache Pig後Map-Reduce簡單多了 結語 原來Apache Hive 是這樣來的 Hive和SQL 比較

Hadoop 起源與演進 Since 2005~ Apache Hadoop 支援大量數據分散式運算架構 Apache 2.0 License (重要!!) Hadoop是根據Google發表的MapReduce和Google DFS(Data File System)的論文實作而成 MapReduce: 可靠的分散運算框架 HDFS: 提供了分佈式文件系統,存儲所有計算節點的數據 MapReduce和HDFS的設計 容錯:使得整個框架能夠自動處理節點故障。 巨量:應用程式在分散的獨立電腦執行巨量資料(PB)運算 2004年Google發表了兩篇論文來論述Google文件系統(GFS)和MapReduce框架。 Google聲稱使用了這兩項技術來擴展自己的搜索系統。 Doug Cutting立即看到了這些技術可以適用於Nutch,接著他的團隊實現了一個新的框架,將Nutch移植上去。 Hadoop開始時是Nutch的一個子項目,而Nutch又是Apache Lucene的一個子項目。這3個項目都是由Doug Cutting所創立的 名字由來:Doug Cutting似乎總會得到家人的啟發。 Lucene是他妻子的中間名,也是她外祖母的名字。他的兒子在咿呀學語時,總把所有用於吃飯的詞叫成Nutch,後來,他把一個黃色大象毛絨玩具叫做Hadoop 資料來源: http://zh.wikipedia.org/wiki/Hadoop

Hadoop 起源與演進 Hadoop 這頭大象自 2006 年 2 月被 Doug Cutting 送進 Apache Software Foundation 餵養以來,已歷經 8 又 1/2 個年頭 Yarn!! 年度 發行次數 2007 5 2008 14 2009 2010 2 2011 6 2012 13 2013(截至8.24) 11 總計 56 年平均 8 Latest Version Hadoop 2.4.1 Latest Version Hadoop 1.2.1 http://fredbigdata.blogspot.tw/2013/08/hadoop-20-yarn.html 資料來源:http://www.slideshare.net/Hadoop_Summit/evans-june27-230pmroom210c

Hadoop 起源與演進 終於不被單點失效牽絆的Yarn 在 Hadoop 2.0 時代,有了 YARN,讓各種處理與分析的方法或工具可以與 Map/Reduce 平等運作,都能讀取與寫入 HDFS 基於 YARN 的應用類型,可以歸結為四大類: Batch (批次處理):如原來的 Map/Reduce (v1) Interactive (互動處理):如新增的 Tez (ASF Incubator),可整合 Pig 與 Hive 應用 Online (線上查詢):如 HBase Streaming (文字串流):如 Storm

Hadoop特色與發展現況 Yahoo案例 每天約500,000個Map/Reduce工作 超過350 Peta-bytes的儲存量 資料來源:http://www.slideshare.net/ydn/hadoop-yahoo-internet-scale-data-processing

Hadoop特色與發展現況 Yahoo案例 Yahoo曾是Hadoop最大的貢獻者 72%的核心patch(包含:HDFS, Map-reduce, Common)是由Yahoo提供 最大的人力資源提供企業支援Hadoop 然而… ? 2006 2009

Hadoop ecosystem 架構 資料來源: http://www.ahp-numerique.fr/index.php?title=Big_data

收集Log 就靠Apache Flume 即時日誌收集系統 將分佈在不同節點、機器上的日誌收集到hdfs 中 IBM BigInsights 已經將Flume 作為產品的一部分 資料來源: http://www.ibm.com/developerworks/opensource/library/bd-flumews/index.html

分散式資料庫 Hbase Hbase是參考谷歌BigTable建模的NoSQL Apache HBase最初是Powerset公司為了處理自然語言搜索產生的海量數據而開展的項目 Facebook在2010年11月選用了HBase來實作了”訊息平台” 特性: 類似表格的資料結構 (Multi-Dimensional Map) 分散式 高可用性、高效能 很容易擴充容量及效能 Apache Hbase: http://hbase.apache.org/ http://contest.trendmicro.com/2014/cn/material/hbase.pdf 資料來源: http://zh.wikipedia.org/wiki/Apache_HBase 資料來源: http://contest.trendmicro.com/2014/cn/material/hbase.pdf

Hbase可與關聯式資料不同 HBase並不是關聯式資料庫系統 提供Java函式庫, 與 REST與Thrift等介面 表格(Table)只有一個主要索引 (primary index) 即 row key. 不提供 join 不提供 SQL語法 提供Java函式庫, 與 REST與Thrift等介面 提供 getRow(), Scan() 存取資料 getRow()可以取得一筆row range的資料,同時也可以指定版本(timestamp) Scan()可以取得整個表格的資料或是一組row range (設定start key, end key) 有限的單元性(Aatomicity)與交易 (transaction)功能 只有一種資料型態 (bytes)

HBase 架構 Apache Pig: http://pig.apache.org/ Region Row Keys Column Family “Content:” Region 1 00000…….. …….. 09999…….. Region 2 10000…….. 29999…….. 表格是由一或多個 region 所構成 Region 是由其 startKey 與endKey所指定 每個 region 可能會存在於多個不同節點上,而且是由數個HDFS 檔案與區塊所構成,這類 region Apache Pig: http://pig.apache.org/ 資料來源: http://contest.trendmicro.com/2014/cn/material/hbase.pdf

有Pig後Map-Reduce簡單了! Apache Pig 適合於使用Hadoop 和MapReduce 平台來查詢大型半結構化數據集 Pig Shell (Grunt) Pig Language (Latin) Libraries (Piggy Bank) User Defined Functions (UDF):使用者定義操作Pig 2014 2014年8月0.13.0最今版 2011年07月 0.9.0 python UDF $ pig –x local ... - Connecting to ... grunt> A = LOAD ‘file1’ AS (x, y, z); 2011年07月 0.9.0 python UDF 2010年12月 0.8.0 python UDF 2010年成為 Apache的主要項目 2008年 Yahoo將Pig移交給Apache團隊,並release Pig0.1 資料來源:http://www.ithome.com.tw/node/73980 Apache Pig是Yahoo捐獻給Apache的一項目 2008 資料來源:http://www.ithome.com.tw/node/73980

有Pig後Map-Reduce簡單了 Map-Reduce Java Code in Eclipse 李 中 11$ Mo 32$ 1 x y z t u v 王 北 10$ Tel 林 21$ 李 中 11$ Mo 32$ Map-Reduce 李 中 11$ Mo 32$ 1

有Pig後Map-Reduce簡單了 李 中 11$ Mo 32$ 1 Logical Plan Pig Latin LOAD FILTER JOIN GROUP FOREACH STORE (x, y, z) (t, u, v) (x, y, z, t, u, v) (group, {(x, y, z, t, u, v)}) (group, count) Logical Plan Pig Latin A = LOAD ‘file1’ AS (x, y, z); B = LOAD ‘file2’ AS (t, u, v); C = FILTER A by y > 0; D = JOIN C BY x, B BY u; E = GROUP D BY z; F = FOREACH E GENERATE group , COUNT(D); STORE F INTO ‘output’; 資料來源:http://www.slideshare.net/hbshashidhar/apache-pig-v-62?next_slideshow=1 李 中 11$ Mo 32$ 1 資料來源:http://www.slideshare.net/hbshashidhar/apache-pig-v-62?next_slideshow=1

有Pig後Map-Reduce簡單了 Pig無法像SQL DBMS工具,提供導入資料庫功能 功能 指令 讀取 LOAD 儲存 STORE 資料處理 FILTER, FOREACH, GROUP, COGROUP, inner JOIN, outer JOIN, UNION, SPLIT, … 彙總運算 AVG, COUNT, MAX, MIN, SIZE, … 數學運算 ABS, RANDOM, ROUND, … 字串處理 INDEXOF, SUBSTRING, REGEX EXTRACT, … Debug DUMP, DESCRIBE, EXPLAIN, ILLUSTRATE HDFS cat, ls, cp, mkdir, … 資料來源:http://fenriswolf.me/2012/03/22/pig-latin-sql-%E5%B0%8D%E7%85%A7%E8%A1%A8/#more-290 資料來源:http://fenriswolf.me/2012/03/22/apache-pig-%E7%B0%A1%E4%BB%8B/ 資料來源:http://fenriswolf.me/2012/03/22/apache-pig-%E7%B0%A1%E4%BB%8B/

原來Hive 是這樣來的 Hive在Hadoop中扮演數據倉庫的角色 相似SQL操作語法 起源於FaceBook,為了解決March 2008 每天有200GB資料在成長的資料倉儲的問題 缺點: Hive無法有效OLAP 不能操作SQL的INSERT資料方法 不能提共TRANSACTION方法 Apache Hive:http://hive.apache.org/ Hive is not for OLAP processing. Not all ‘standard’ SQL is supported No support for INSERTing single rows Relatively limited number of built-in functions Does not support TRANSACTION 資料來源: http://www.slideshare.net/zshao/hive-data-warehousing-analytics-on-hadoop-presentation

Hive和SQL 比較 Hive RDMS 查詢語法 HQL SQL 儲存體 HDFS Raw Device or Local FS 運算方法 MapReduce Excutor 延遲 高 低 處理數據規模 大 小 索引 0.8版本後加入位圖 複雜健全的索引機制 資料來源:http://sishuok.com/forum/blogPost/list/6220.html

Pig vs Hive Hive更適合於數據倉庫的任務,用於靜態的結構及需要經常分析的工作 Pig賦予開發人員在Big Data中,具備更多的靈活性,並允許開發簡潔腳本 用於轉換資料流,以便嵌入到較大的應用程序 Pig比Hive輕量,Pig可採用Java API串接,,因此,Pig較吸引軟體開發人員 Hive和Pig都可以與HBase組合使用,Hive和Pig還為HBase提供了高階語言支援,在HBase上進行數據統計處理變的非常簡單 Feature Hive Pig Language SQL-LIKE PigLatin Schemas/Types Yes (explicit) (implicit) Partitions No Server Optional(Thrift) Web Interface JDBC/ODBC Yes(limited) 資料來源:http://blog.csdn.net/devtao/article/details/14213481 資料來源:http://blog.csdn.net/devtao/article/details/14213481 資料來源: http://f.dataguru.cn/thread-33553-1-1.html

Sqoop幫你把 SQL Data導入到Hadoop Apache Sqoop = SQL to Hadoop Apache Sqoop允許使用者從關聯式資料庫(RDBMS)中擷取資料到 Hadoop 資料來源: http://hive.3du.me/slide.html 資料來源: https://blogs.apache.org/sqoop/entry/apache_sqoop_graduates_from_incubator http://hive.3du.me/slide.html

Sqoop 邏輯架構 Mysql到HDFS 案例 Sqoop import (generic-args) (import-args) Sqoop import –connect jdbc:mysql://localhost:3306/sqoop_test –direct –table adpv –username root -P Apache Sqoop http://sqoop.apache.org/ 資料來源: http://baiyunl.iteye.com/blog/964254

Hadoop運行任務用 Oozie管理 它讓我們可以把多個Map/Reduce作業組合到一個邏輯工作單元中,從而完成更大型的任務 Oozie是一種Java Web應用程序,它運行在Java servlet容器(即Tomcat)中 Apache Oozie:http://oozie.apache.org/ http://www.infoq.com/cn/articles/introductionOozie 資料來源: http://www.infoq.com/cn/articles/introductionOozie

ZooKeeper管理Hadoop軍火 主要是用來 分布式配置服務 同步服務 命名註冊 解決分佈式應用中經常遇到的一些數據管理問題,例如:統一命名服務、狀態同步服務、集群管理、分佈式應用配置項的管理等 ZooKeeper的公司包括Rackspace、雅虎和eBay,類似Apache Solr這樣的開放原始碼企業級索引系統 Apache ZooKeeper: http://zookeeper.apache.org/ http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/ 資料來源:http://zh.wikipedia.org/wiki/Apache_ZooKeeper 資料來源:http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/

ZooKeeper管理Hadoop軍火 Performance 資料來源:http://tutorialshadoop.com/what-is-apache-zookeeper-and-it-uses/ 資料來源:http://zookeeper.apache.org/doc/trunk/zookeeperOver.html

分析工具 Mahout和 R Connectors就綽綽有餘 Apache Mahout 是Apache Software Foundation (ASF) 開發的一個全新的開源項目,其主要目標是創建一些可伸縮的機器學習算法,供開發人員在Apache 在許可下免費使用 Apache Mahout用MapReduce實現了部分數據挖掘算法,解決了並行挖掘的問題 Apache Mahout: https://mahout.apache.org/

分析工具Mahout和 R Connectors就綽綽有餘 分類 分群 推薦 降維 Regression Recommenders Clustering Classification Freq. Pattern Mining Vector Similarity Non-MR Algorithms Examples Dimension Reduction Evolution

分析工具 Mahout和 R Connectors就綽綽有餘 R 是一種語言,主要用於統計分析、繪圖、資料探勘,有成熟的Function R Connectors 是結合Hadoop的套件 資料來源:http://www.r-project.org/

結語 在巨量資料領域中Hadoop是目前最多人使用的框架 資料量不足夠時很難發揮到Hadoop的效能 現在是最適合切入學習 大數據人才懂資工、統計還不夠,還要會說故事 資料來源:http://www.cc.ntu.edu.tw/chinese/epaper/0011/20091220_1106.htm 資料來源: http://www.inside.com.tw/2014/06/04/big-data-talents-you-have-to-know-how-to-tell-a-story