大數據入門:各種大數據技術的介紹

大數據我們都知道hadoop,可是還會各種各樣的技術進入我們的視野:Spark,Storm,impala,讓我們都反映不過來。為了能夠更好的架構大數據項目,這里整理一下,供技術人員,項目經理,架構師選擇合適的技術,了解大數據各種技術之間的關系,選擇合適的語言。
我們可以帶著下面問題來閱讀本文章:
1.hadoop都包含什么技術
2.Cloudera公司與hadoop的關系是什么,都有什么產品,產品有什么特性
3.Spark與hadoop的關聯是什么?
4.Storm與hadoop的關聯是什么?






hadoop家族
創始人:Doug Cutting
整個Hadoop家族由以下幾個子項目組成:

Hadoop Common:
Hadoop體系最底層的一個模塊,為Hadoop各子項目提供各 種工具,如:配置文件和日志操作等。詳細可查看
Hadoop技術內幕 深入解析HADOOP COMMON和HDFS架構設計與實現原理大全1-9章

HDFS:

是Hadoop應用程序中主要的分布式儲存系統, HDFS集群包含了一個NameNode(主節點),這個節點負責管理所有文件系統的元數據及存儲了真實數據的DataNode(數據節點,可以有很多)。HDFS針對海量數據所設計,所以相比傳統文件系統在大批量小文件上的優化,HDFS優化的則是對小批量大型文件的訪問和存儲。下面為詳細資料:
什么是HDFS及HDFS架構設計
HDFS+MapReduce+Hive快速入門
Hadoop2.2.0中HDFS為何具有高可用性
Java創建hdfs文件實例

MapReduce:

是一個軟件框架,用以輕松編寫處理海量(TB級)數據的并行應用程序,以可靠和容錯的方式連接大型集群中上萬個節點(商用硬件)。
詳細可查看:
Hadoop簡介(1):什么是Map/Reduce
Hadoop MapReduce基礎
MapReduce工作原理講解
手把手交你寫Mapreduce程序實例并部署在Hadoop2.2.0上運行

Hive:

Apache Hive是Hadoop的一個數據倉庫系統,促進了數據的綜述(將結構化的數據文件映射為一張數據庫表)、即席查詢以及存儲在Hadoop兼容系統中的大型數據集分析。Hive提供完整的SQL查詢功能——HiveQL語言,同時當使用這個語言表達一個邏輯變得低效和繁瑣時,HiveQL還允許傳統的Map/Reduce程序員使用自己定制的Mapper和Reducer。hive類似CloudBase,基于hadoop分布式計算平臺上的提供data warehouse的sql功能的一套軟件。使得存儲在hadoop里面的海量數據 的匯總,即席查詢簡單化。
詳細可查看:
Hive的起源及詳細介紹
hive詳解視頻


Pig:

Apache Pig是一個用于大型數據集分析的平臺,它包含了一個用于數據分析應用的高級語言以及評估這些應用的基礎設施。Pig應用的閃光特性在于它們的結構經得起大量的并行,也就是說讓它們支撐起非常大的數據集。Pig的基礎設施層包含了產生Map-Reduce任務的編譯器。Pig的語言層當前包含了一個原生語言——Pig Latin,開發的初衷是易于編程和保證可擴展性。
Pig是SQL-like語言,是在MapReduce上構建的一種高級查詢語言,把一些運算編譯進MapReduce模型的Map和Reduce中,并且用戶可以定義自己的功能。Yahoo網格運算部門開發的又一個克隆Google的項目Sawzall。
詳細可查看:
pig入門簡單操作及語法包括支持數據類型、函數、關鍵字、操作符等
hadoop家族Pig和Hive有什么不同?



HBase:

Apache HBase是Hadoop數據庫,一個分布式、可擴展的大數據存儲。它提供了大數據集上隨機和實時的讀/寫訪問,并針對了商用服務器集群上的大型表格做出優化——上百億行,上千萬列。其核心是Google Bigtable論文的開源實現,分布式列式存儲。就像Bigtable利用GFS(Google File System)提供的分布式數據存儲一樣,它是Apache Hadoop在HDFS基礎上提供的一個類Bigatable。
詳細可查看:
hbase與傳統數據的區別
HBASE分布式安裝視頻下載分享

ZooKeeper:

Zookeeper是Google的Chubby一個開源的實現。它是一個針對大型分布式系統的可靠協調系統,提供的功能包括:配置維護、名字服務、 分布式同步、組服務等。ZooKeeper的目標就是封裝好復雜易出錯的關鍵服務,將簡單易用的接口和性能高效、功能穩定的系統提供給用戶。
詳細可查看:
什么是Zookeeper,Zookeeper的作用是什么,在Hadoop及hbase中具體作用是什么

Avro:

Avro是doug cutting主持的RPC項目,有點類似Google的protobuf和Facebook的thrift。avro用來做以后hadoop的RPC,使hadoop的RPC模塊通信速度更快、數據結構更緊湊。


Sqoop:
Sqoop是一個用來將Hadoop和關系型數據庫中的數據相互轉移的工具,可以將一個關系型數據庫中數據導入Hadoop的HDFS中,也可以將HDFS中數據導入關系型數據庫中。
詳細可查看:
Sqoop詳細介紹包括:sqoop命令,原理,流程

Mahout:

Apache Mahout是個可擴展的機器學習和數據挖掘庫,當前Mahout支持主要的4個用例:
推薦挖掘:搜集用戶動作并以此給用戶推薦可能喜歡的事物。
聚集:收集文件并進行相關文件分組。
分類:從現有的分類文檔中學習,尋找文檔中的相似特征,并為無標簽的文檔進行正確的歸類。
頻繁項集挖掘:將一組項分組,并識別哪些個別項會經常一起出現。


Cassandra:

Apache Cassandra是一個高性能、可線性擴展、高有效性數據庫,可以運行在商用硬件或云基礎設施上打造完美的任務關鍵性數據平臺。在橫跨數據中心的復制中,Cassandra同類最佳,為用戶提供更低的延時以及更可靠的災難備份。通過log-structured update、反規范化和物化視圖的強支持以及強大的內置緩存,Cassandra的數據模型提供了方便的二級索引(column indexe)。

Chukwa:

Apache Chukwa是個開源的數據收集系統,用以監視大型分布系統。建立于HDFS和Map/Reduce框架之上,繼承了Hadoop的可擴展性和穩定性。Chukwa同樣包含了一個靈活和強大的工具包,用以顯示、監視和分析結果,以保證數據的使用達到最佳效果。

Ambari:

Apache Ambari是一個基于web的工具,用于配置、管理和監視Apache Hadoop集群,支持Hadoop HDFS,、Hadoop MapReduce、Hive、HCatalog,、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari同樣還提供了集群狀況儀表盤,比如heatmaps和查看MapReduce、Pig、Hive應用程序的能力,以友好的用戶界面對它們的性能特性進行診斷。



HCatalog

Apache HCatalog是Hadoop建立數據的映射表和存儲管理服務,它包括:
提供一個共享模式和數據類型機制。
提供一個抽象表,這樣用戶就不需要關注數據存儲的方式和地址。
為類似Pig、MapReduce及Hive這些數據處理工具提供互操作性。

------------------------------------------------------------------------------------------------------------------------------------------------

Chukwa:

Chukwa是基于Hadoop的大集群監控系統,由yahoo貢獻。


------------------------------------------------------------------------------------------------------------------------------------------------

Cloudera系列產品:
創始組織:Cloudera公司
1.Cloudera Manager:
有四大功能
(1)管理
(2)監控
(3)診斷
(4)集成
Cloudera Manager四大功能

2.Cloudera CDH: 英文名稱:CDH (Cloudera's Distribution, including Apache Hadoop)
Cloudera對hadoop做了相應的改變。
Cloudera公司的發行版,我們將該版本稱為CDH(Cloudera Distribution Hadoop)。
詳細可以查看
Cloudera Hadoop什么是CDH及CDH版本介紹
相關資料
CDH3實戰Hadoop(HDFS) , HBase , Zookeeper , Flume , Hive
CDH4安裝實踐HDFS、HBase、Zookeeper、Hive、Oozie、Sqoop
Hadoop CDH四種安裝方式總結及實例指導
hadoop的CDH4及CDH5系列文檔下載分享


3.Cloudera Flume
Flume是Cloudera提供的日志收集系統,Flume支持在日志系統中定制各類數據發送方,用于收集數據;
Flume是Cloudera提供的一個高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸的系統,Flume支持在日志系統中定制各類數據發送方,用于收集數據;同時,Flume提供對數據進行簡單處理,并寫到各種數據接受方(可定制)的能力。


Flume最早是Cloudera提供的日志收集系統,目前是Apache下的一個孵化項目,Flume支持在日志系統中定制各類數據發送方,用于收集數據;同時,Flume提供對數據進行簡單處理,并寫到各種數據接受方(可定制)的能力 Flume提供了從console(控制臺)、RPC(Thrift-RPC)、text(文件)、tail(UNIX tail)、syslog(syslog日志系統,支持TCP和UDP等2種模式),exec(命令執行)等數據源上收集數據的能力。
Flume采用了多Master的方式。為了保證配置數據的一致性,Flume[1]引入了ZooKeeper,用于保存配置數據,ZooKeeper本身可保證配置數據的一致性和高可用,另外,在配置數據發生變化時,ZooKeeper可以通知Flume Master節點。Flume Master間使用gossip協議同步數據。
詳細可查看:
什么是 flume 日志收集,flume的特性
什么是 flume 日志收集,flume的原理是什么,flume會遇到什么問題

4.Cloudera? Impala
Cloudera Impala對你存儲在Apache Hadoop在HDFS,HBase的數據提供直接查詢互動的SQL。除了像Hive使用相同的統一存儲平臺,Impala也使用相同的元數據,SQL語法(Hive SQL),ODBC驅動程序和用戶界面(Hue Beeswax)。Impala還提供了一個熟悉的面向批量或實時查詢和統一平臺。
詳細可查看:
什么是impala,如何安裝使用Impala
5.Cloudera? ??hue
Hue是cdh專門的一套web管理器,它包括3個部分hue ui,hue server,hue db。hue提供所有的cdh組件的shell界面的接口。你可以在hue編寫mr,查看修改hdfs的文件,管理hive的元數據,運行Sqoop,編寫Oozie工作流等大量工作。
詳細可查看:
cloudera hue安裝及Oozie的安裝
什么是Oozie?Oozie簡介
Cloudera Hue 使用經驗分享,遇到的問題及解決方案


------------------------------------------------------------------------------------------------------------------------------------------------

Spark

創始組織:加州大學伯克利分校 AMP 實驗室 (Algorithms, Machines, and People Lab) 開發


Spark 是一種與 Hadoop 相似的開源集群計算環境,但是兩者之間還存在一些不同之處,這些有用的不同之處使 Spark 在某些工作負載方面表現得更加優越,換句話說,Spark 啟用了內存分布數據集,除了能夠提供交互式查詢外,它還可以優化迭代工作負載。

Spark 是在 Scala 語言中實現的,它將 Scala 用作其應用程序框架。與 Hadoop 不同,Spark 和 Scala 能夠緊密集成,其中的 Scala 可以像操作本地集合對象一樣輕松地操作分布式數據集。

盡管創建 Spark 是為了支持分布式數據集上的迭代作業,但是實際上它是對 Hadoop 的補充,可以在 Hadoo 文件系統中并行運行。通過名為 Mesos 的第三方集群框架可以支持此行為。Spark 由加州大學伯克利分校 AMP 實驗室 (Algorithms, Machines, and People Lab) 開發,可用來構建大型的、低延遲的數據分析應用程序。

可以詳細了解
科普Spark,Spark是什么,如何使用Spark(1)
科普Spark,Spark核心是什么,如何使用Spark(2)
優酷土豆用Spark完善大數據分析
Hadoop新成員Hadoop-Cloudera公司將Spark加入Hadoop


-----------------------------------------------------------------------------------------------------------------------------------------------

Storm

創始人:Twitter
Twitter將Storm正式開源了,這是一個分布式的、容錯的實時計算系統,它被托管在GitHub上,遵循 Eclipse Public License 1.0。Storm是由BackType開發的實時處理系統,BackType現在已在Twitter麾下。GitHub上的最新版本是Storm 0.5.2,基本是用Clojure寫的。

詳細可以了解:
storm入門介紹
Storm-0.9.0.1安裝部署 指導
總體認識storm包括概念,場景,組成
大數據架構師:hadoop、Storm改選哪一個?
大數據架構:flume-ng+Kafka+Storm+HDFS 實時系統組合

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/456975.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/456975.shtml
英文地址,請注明出處:http://en.pswp.cn/news/456975.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

高可用與負載均衡(5)之基于客戶端的負載均衡

什么是客戶端負載均衡 基于客戶端的負載均衡,簡單的說就是在客戶端程序里面,自己設定一個調度算法,在向服務器發起請求的時候,先執行調度算法計算出向哪臺服務器發起請求,然后再發起請求給服務器。 基于客戶端負載均衡…

Variant 與 內存泄露

http://blog.chinaunix.net/uid-10386087-id-2959221.html 今天遇到一個內存泄露的問題。是師兄檢測出來的。Variant類型在使用后要Clear否則會造成內存泄露,為什么呢? Google一下找到下面一篇文章,主要介紹了Com的內存泄露,中間有…

安裝安全類軟件進行了android簽名漏洞修補,魅族MX3怎么升級固件體驗最新比較穩定的版本...

魅族mx3固件怎么升級?flyme os系統會持續更新,升級魅族MX3手機系統需先下載MX3的升級固件,升級固件分為體驗版和穩定版。魅族MX3固件有體驗版和穩定版兩種,顧名思義,體驗版為最新版但相比穩定版來說存在更多的漏洞,升…

linux su切換用戶提示Authentication failture的解決辦法

由于ubtun系統默認是沒有激活root用戶的,需要我們手工進行操作,在命令行界面下,或者在終端中輸入如下命令: sudo passwd Password:你當前的密碼 Enter new UNIX password:這個是root的密碼 Retype new …

@property

class Person(object):def __init__(self, name,age):#屬性直接對外暴露#self.age age#限制訪問self.__age ageself.__name namedef getAge(self):return self.__agedef setAge(self,age):if age<0:age 0self.__age age#方法名為受限制的變量去掉雙下劃線propertydef a…

ubuntu入門知識

1、linux系統發展歷史 unix -> Linux -> ubuntu linux發展軌跡圖 2、ubuntu下載和安裝 推薦使用長期支持版本&#xff1a; 10.04,12.04,14.04或LTS版本 安裝環境VMware虛擬機 3、安裝之后創建root sudo passwd root 輸入root用戶密碼即可 4、安裝軟件&#xff1a; 更新軟…

html 二級試題,計算機二級考試WEB試題及答案

計算機二級考試WEB試題及答案當前主要的 WEB數據庫訪問技術有哪些?答&#xff1a;到目前為止&#xff0c;WEB數據庫訪問技術主要分為兩大類&#xff1a;(1)公共網關接口技術(CGI);CGI 是 WEB 服務器運行時外部程序的規范&#xff0c;按照 CGI 編寫的程序可以擴展服務器的功能&…

細數阿里云服務器的十二種典型應用場景

原文鏈接&#xff1a;http://click.aliyun.com/m/13910/免費開通大數據服務&#xff1a;https://www.aliyun.com/product/odps文章轉載&#xff1a;小白楊1990如今&#xff0c;阿里云的產品可謂是多種多樣&#xff0c;紛繁復雜。面對各種各樣的技術和產品&#xff0c;ECS、RDS、…

動態給實例添加屬性和方法

from types import MethodType#創建一個空類 class Person(object):__slots__ ("name","age","speak","height")per Person() #動態添加屬性&#xff0c;這體現了動態語言的特點(靈活&#xff09;per.name "tom" print(…

android導入項目出現style錯誤,menu錯誤

android導入項目出現style錯誤&#xff0c;menu錯誤 style //查看 res/values/styles.xml 下的報錯點。<style name"AppBaseTheme" parent"Theme.AppCompat.Light"> //把這個改成 <style name"AppBaseTheme" parent"android:The…

Vim的基本操作總結

最近在學習Linux基礎的時候&#xff0c;對Vim的基本操作時遇到很多問題&#xff0c;如編輯錯誤&#xff0c;無法退出Vim等。通過一系列的學習后才解決了這些問題&#xff0c;希望這個過程能對后來者有所幫助 先對Vim的三種模式做個大致的介紹&#xff1a; Vi有三種基本工作模式…

html股票數據代碼,股票數據的網站抓取(4.2)代碼優化

#codingutf-8from selenium import webdriverimport timeimport osimport reimport sysimport threadingimport Queueimport Tkinter as tkfrom selenium.common.exceptions import NoSuchElementExceptiondef myinit():reload(sys)sys.setdefaultencoding(utf8)#獲取屏幕分辨率…

對象屬性和類屬性

class Person(object):#這里的屬性實際上屬于類屬性&#xff08;用類名調用&#xff09;name "person"def __init__(self,name):#對象屬性self.name nameprint(Person.name) per Person("tom") #對象屬性的優先級高于類屬性 print(per.name) #動態的給對…

commons-fileupload、smartUpload和commons-net-ftp

1.本地上傳 在許多Web站點應用中都需要為用戶提供通過瀏覽器上傳文檔資料的功能&#xff0c;例如&#xff0c;上傳個人相片、共享資料等。在DRP中&#xff0c;就有這個一個功能&#xff0c;需要將對應的物料圖片上傳并顯示。對于上傳功能&#xff0c;其實在瀏覽器端提供了很好的…

11月14號站立會議(從即日14號起到24號截至為final階段工作期)

小組名稱&#xff1a;飛天小女警 項目名稱&#xff1a;禮物挑選小工具 小組成員&#xff1a;沈柏杉&#xff08;組長&#xff09;、程媛媛、楊鈺寧、譚力銘 代碼地址&#xff1a;HTTPS:https://git.coding.net/shenbaishan/GIFT.git SSH&#xff1a;gitgit.coding.net:shenbais…

初學大數據之Pycharm常用的快捷鍵總結

pycharm快捷鍵及一些常用設置&#xff0c;有需要的朋友可以參考下。 加粗的都是個人認為比較常用的快捷鍵 AltEnter 自動添加包 Ctrlt SVN更新 Ctrlk SVN提交 Ctrl / 注釋(取消注釋)選擇的行 CtrlShiftF 高級查找 CtrlEnter 補全 Shift Enter 開始新行 TAB ShiftTAB…

搖一搖 聲音 html5,HTML5搖一搖以及音頻播放問題優化總結

前言感想&#xff1a;不放過任何一個WARNING、ERROR或者不夠好的體驗點&#xff0c;持續不斷優化&#xff0c;精益求精&#xff0c;我們就能夠得到提高。1. 搖一搖不夠靈敏、搖動很多次沒有響應的問題、原來搖一搖代碼是從網絡Copy的&#xff0c;活動上線后&#xff0c;發現部分…

調用API發送短信python

import http.client import urllibhost "106.ihuyi.com" sms_send_uri "/webservice/sms.php?methodSubmit"# 用戶名是登錄用戶中心->驗證碼短信->產品總覽->APIID account "xxxxxxxx" # 密碼 查看密碼請登錄用戶中心->驗證碼短…

JAVA內部類使用

一、什么是內部類&#xff1f; 一個類的定義放在另一個類的內部&#xff0c;這個類就叫做內部類 二、內部類有那些特性&#xff1f; 1、內部類仍然是一個獨立的類&#xff0c;在編譯之后內部類會被編譯成獨立的.class文件&#xff0c;但是前面冠以外部類的類名和$符號 。  2、…

初學大數據之模塊集成:Pycharm安裝numpy,scipy,sklearn等包時遇到的各種問題的一鍵解決方法

最近在學習機器學習&#xff0c;要用Python寫程序&#xff0c;習慣了用IDE軟件&#xff0c;所以就使用Pycharm軟件。但是在導入類似numpy,sklearn等模塊的時候&#xff0c;發現了各種問題&#xff08;如Python版本與模塊之間的兼容等各類問題&#xff09;,上網找了許多方法&…