大數(shù)據(jù)技術(shù)的體系龐大且復(fù)雜,基礎(chǔ)的技術(shù)包含數(shù)據(jù)的采集、數(shù)據(jù)預(yù)處理、分布式存儲、數(shù)據(jù)庫、數(shù)據(jù)倉庫、機(jī)器學(xué)習(xí)、并行計(jì)算、可視化等。

成都創(chuàng)新互聯(lián)公司網(wǎng)站建設(shè)服務(wù)商,為中小企業(yè)提供成都網(wǎng)站建設(shè)、成都網(wǎng)站制作服務(wù),網(wǎng)站設(shè)計(jì),網(wǎng)站托管維護(hù)等一站式綜合服務(wù)型公司,專業(yè)打造企業(yè)形象網(wǎng)站,讓您在眾多競爭對手中脫穎而出成都創(chuàng)新互聯(lián)公司。
1、數(shù)據(jù)采集與預(yù)處理:FlumeNG實(shí)時日志收集系統(tǒng),支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);Zookeeper是一個分布式的,開放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),提供數(shù)據(jù)同步服務(wù)。
2、數(shù)據(jù)存儲:Hadoop作為一個開源的框架,專為離線和大規(guī)模數(shù)據(jù)分析而設(shè)計(jì),HDFS作為其核心的存儲引擎,已被廣泛用于數(shù)據(jù)存儲。HBase,是一個分布式的、面向列的開源數(shù)據(jù)庫,可以認(rèn)為是hdfs的封裝,本質(zhì)是數(shù)據(jù)存儲、NoSQL數(shù)據(jù)庫。
3、數(shù)據(jù)清洗:MapReduce作為Hadoop的查詢引擎,用于大規(guī)模數(shù)據(jù)集的并行計(jì)算。
4、數(shù)據(jù)查詢分析:Hive的核心工作就是把SQL語句翻譯成MR程序,可以將結(jié)構(gòu)化的數(shù)據(jù)映射為一張數(shù)據(jù)庫表,并提供HQL(HiveSQL)查詢功能。Spark啟用了內(nèi)存分布數(shù)據(jù)集,除了能夠提供交互式查詢外,它還可以優(yōu)化迭代工作負(fù)載。
5、數(shù)據(jù)可視化:對接一些BI平臺,將分析得到的數(shù)據(jù)進(jìn)行可視化,用于指導(dǎo)決策服務(wù)。
Zookeeper:安裝Hadoop的HA的時候就會用到它,以后的Hbase也會用到它。需要把它安裝正確 ,讓它正常的跑起來。
Mysql:在Linux上把它安裝好,運(yùn)行起來,會配置簡單的權(quán)限,修改root密碼,創(chuàng)建數(shù)據(jù)庫。
Sqoop:這個是用于把Mysal里面的數(shù)據(jù)導(dǎo)入Hadoop里面。
Hive:和Pig同理,想要變得厲害可以都學(xué)習(xí)。
Oozie:可以幫你管理你的Hive或者M(jìn)apReduce、Spark腳本還能檢查你的程序執(zhí)行的是否正確。
Hbase:這個是Hadoop生態(tài)體系中的NOSQL數(shù)據(jù)庫,是按照key和value的形式存儲的并且key是唯一的。所以可以幫你做數(shù)據(jù)排重,它與MYSQL相比存儲的數(shù)據(jù)量大。
Kafka:這個是隊(duì)列工具。可以利用它來做線上實(shí)時數(shù)據(jù)的入庫或者是入HDFS,與Flume的工具配合使用,專門用來提供對數(shù)據(jù)進(jìn)行簡單處理。
Spark:這個工具是用來彌補(bǔ)MapReduce處理數(shù)據(jù)速度上的缺點(diǎn),特點(diǎn)就是把數(shù)據(jù)裝載到內(nèi)存里面去計(jì)算。適合做迭代運(yùn)算,Java語言或者Scala都可以操作它,他們都是用JVM的。
關(guān)于大數(shù)據(jù)技術(shù)要掌握的要點(diǎn)有哪些,青藤小編就和您分享到這里了。如果您對大數(shù)據(jù)工程有濃厚的興趣,希望這篇文章可以為您提供幫助。如果您還想了解更多關(guān)于數(shù)據(jù)分析師、大數(shù)據(jù)工程師的技巧及素材等內(nèi)容,可以點(diǎn)擊本站的其他文章進(jìn)行學(xué)習(xí)。
大數(shù)據(jù)技術(shù),就是從各種類型的數(shù)據(jù)中快速獲得有價值信息的技術(shù)。大數(shù)據(jù)領(lǐng)域已經(jīng)涌現(xiàn)出了大量新的技術(shù),它們成為大數(shù)據(jù)采集、存儲、處理和呈現(xiàn)的有力武器。
大數(shù)據(jù)處理關(guān)鍵技術(shù)一般包括:大數(shù)據(jù)采集、大數(shù)據(jù)預(yù)處理、大數(shù)據(jù)存儲及管理、大數(shù)據(jù)分析及挖掘、大數(shù)據(jù)展現(xiàn)和應(yīng)用(大數(shù)據(jù)檢索、大數(shù)據(jù)可視化、大數(shù)據(jù)應(yīng)用、大數(shù)據(jù)安全等)。
? ? ? ? ??
一、大數(shù)據(jù)采集技術(shù)
數(shù)據(jù)是指通過RFID射頻數(shù)據(jù)、傳感器數(shù)據(jù)、社交網(wǎng)絡(luò)交互數(shù)據(jù)及移動互聯(lián)網(wǎng)數(shù)據(jù)等方式獲得的各種類型的結(jié)構(gòu)化、半結(jié)構(gòu)化(或稱之為弱結(jié)構(gòu)化)及非結(jié)構(gòu)化的海量數(shù)據(jù),是大數(shù)據(jù)知識服務(wù)模型的根本。重點(diǎn)要突破分布式高速高可靠數(shù)據(jù)爬取或采集、高速數(shù)據(jù)全映像等大數(shù)據(jù)收集技術(shù);突破高速數(shù)據(jù)解析、轉(zhuǎn)換與裝載等大數(shù)據(jù)整合技術(shù);設(shè)計(jì)質(zhì)量評估模型,開發(fā)數(shù)據(jù)質(zhì)量技術(shù)。
?互聯(lián)網(wǎng)是個神奇的大網(wǎng),大數(shù)據(jù)開發(fā)和軟件定制也是一種模式,這里提供最詳細(xì)的報(bào)價,如果你真的想做,可以來這里,這個手機(jī)的開始數(shù)字是一八七中間的是三兒
零最后的是一四二五零,按照順序組合起來就可以找到,我想說的是,除非你想做或者了解這方面的內(nèi)容,如果只是湊熱鬧的話,就不要來了。
大數(shù)據(jù)采集一般分為大數(shù)據(jù)智能感知層:主要包括數(shù)據(jù)傳感體系、網(wǎng)絡(luò)通信體系、傳感適配體系、智能識別體系及軟硬件資源接入系統(tǒng),實(shí)現(xiàn)對結(jié)構(gòu)化、半結(jié)構(gòu)化、非結(jié)構(gòu)化的海量數(shù)據(jù)的智能化識別、定位、跟蹤、接入、傳輸、信號轉(zhuǎn)換、監(jiān)控、初步處理和管理等。必須著重攻克針對大數(shù)據(jù)源的智能識別、感知、適配、傳輸、接入等技術(shù)。基礎(chǔ)支撐層:提供大數(shù)據(jù)服務(wù)平臺所需的虛擬服務(wù)器,結(jié)構(gòu)化、半結(jié)構(gòu)化及非結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)庫及物聯(lián)網(wǎng)絡(luò)資源等基礎(chǔ)支撐環(huán)境。重點(diǎn)攻克分布式虛擬存儲技術(shù),大數(shù)據(jù)獲取、存儲、組織、分析和決策操作的可視化接口技術(shù),大數(shù)據(jù)的網(wǎng)絡(luò)傳輸與壓縮技術(shù),大數(shù)據(jù)隱私保護(hù)技術(shù)等。
? ? ? ? ? ??二、大數(shù)據(jù)預(yù)處理技術(shù)
主要完成對已接收數(shù)據(jù)的辨析、抽取、清洗等操作。1)抽取:因獲取的數(shù)據(jù)可能具有多種結(jié)構(gòu)和類型,數(shù)據(jù)抽取過程可以幫助我們將這些復(fù)雜的數(shù)據(jù)轉(zhuǎn)化為單一的或者便于處理的構(gòu)型,以達(dá)到快速分析處理的目的。2)清洗:對于大數(shù)據(jù),并不全是有價值的,有些數(shù)據(jù)并不是我們所關(guān)心的內(nèi)容,而另一些數(shù)據(jù)則是完全錯誤的干擾項(xiàng),因此要對數(shù)據(jù)通過過濾“去噪”從而提取出有效數(shù)據(jù)。
? ? ? ? ? ??三、大數(shù)據(jù)存儲及管理技術(shù)
大數(shù)據(jù)存儲與管理要用存儲器把采集到的數(shù)據(jù)存儲起來,建立相應(yīng)的數(shù)據(jù)庫,并進(jìn)行管理和調(diào)用。重點(diǎn)解決復(fù)雜結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化大數(shù)據(jù)管理與處理技術(shù)。主要解決大數(shù)據(jù)的可存儲、可表示、可處理、可靠性及有效傳輸?shù)葞讉€關(guān)鍵問題。開發(fā)可靠的分布式文件系統(tǒng)(DFS)、能效優(yōu)化的存儲、計(jì)算融入存儲、大數(shù)據(jù)的去冗余及高效低成本的大數(shù)據(jù)存儲技術(shù);突破分布式非關(guān)系型大數(shù)據(jù)管理與處理技術(shù),異構(gòu)數(shù)據(jù)的數(shù)據(jù)融合技術(shù),數(shù)據(jù)組織技術(shù),研究大數(shù)據(jù)建模技術(shù);突破大數(shù)據(jù)索引技術(shù);突破大數(shù)據(jù)移動、備份、復(fù)制等技術(shù);開發(fā)大數(shù)據(jù)可視化技術(shù)。
開發(fā)新型數(shù)據(jù)庫技術(shù),數(shù)據(jù)庫分為關(guān)系型數(shù)據(jù)庫、非關(guān)系型數(shù)據(jù)庫以及數(shù)據(jù)庫緩存系統(tǒng)。其中,非關(guān)系型數(shù)據(jù)庫主要指的是NoSQL數(shù)據(jù)庫,分為:鍵值數(shù)據(jù)庫、列存數(shù)據(jù)庫、圖存數(shù)據(jù)庫以及文檔數(shù)據(jù)庫等類型。關(guān)系型數(shù)據(jù)庫包含了傳統(tǒng)關(guān)系數(shù)據(jù)庫系統(tǒng)以及NewSQL數(shù)據(jù)庫。
開發(fā)大數(shù)據(jù)安全技術(shù)。改進(jìn)數(shù)據(jù)銷毀、透明加解密、分布式訪問控制、數(shù)據(jù)審計(jì)等技術(shù);突破隱私保護(hù)和推理控制、數(shù)據(jù)真?zhèn)巫R別和取證、數(shù)據(jù)持有完整性驗(yàn)證等技術(shù)。
? ? ? ? ? ? 四、大數(shù)據(jù)分析及挖掘技術(shù)
大數(shù)據(jù)分析技術(shù)。改進(jìn)已有數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)技術(shù);開發(fā)數(shù)據(jù)網(wǎng)絡(luò)挖掘、特異群組挖掘、圖挖掘等新型數(shù)據(jù)挖掘技術(shù);突破基于對象的數(shù)據(jù)連接、相似性連接等大數(shù)據(jù)融合技術(shù);突破用戶興趣分析、網(wǎng)絡(luò)行為分析、情感語義分析等面向領(lǐng)域的大數(shù)據(jù)挖掘技術(shù)。
數(shù)據(jù)挖掘就是從大量的、不完全的、有噪聲的、模糊的、隨機(jī)的實(shí)際應(yīng)用數(shù)據(jù)中,提取隱含在其中的、人們事先不知道的、但又是潛在有用的信息和知識的過程。數(shù)據(jù)挖掘涉及的技術(shù)方法很多,有多種分類法。根據(jù)挖掘任務(wù)可分為分類或預(yù)測模型發(fā)現(xiàn)、數(shù)據(jù)總結(jié)、聚類、關(guān)聯(lián)規(guī)則發(fā)現(xiàn)、序列模式發(fā)現(xiàn)、依賴關(guān)系或依賴模型發(fā)現(xiàn)、異常和趨勢發(fā)現(xiàn)等等;根據(jù)挖掘?qū)ο罂煞譃殛P(guān)系數(shù)據(jù)庫、面向?qū)ο髷?shù)據(jù)庫、空間數(shù)據(jù)庫、時態(tài)數(shù)據(jù)庫、文本數(shù)據(jù)源、多媒體數(shù)據(jù)庫、異質(zhì)數(shù)據(jù)庫、遺產(chǎn)數(shù)據(jù)庫以及環(huán)球網(wǎng)Web;根據(jù)挖掘方法分,可粗分為:機(jī)器學(xué)習(xí)方法、統(tǒng)計(jì)方法、神經(jīng)網(wǎng)絡(luò)方法和數(shù)據(jù)庫方法。機(jī)器學(xué)習(xí)中,可細(xì)分為:歸納學(xué)習(xí)方法(決策樹、規(guī)則歸納等)、基于范例學(xué)習(xí)、遺傳算法等。統(tǒng)計(jì)方法中,可細(xì)分為:回歸分析(多元回歸、自回歸等)、判別分析(貝葉斯判別、費(fèi)歇爾判別、非參數(shù)判別等)、聚類分析(系統(tǒng)聚類、動態(tài)聚類等)、探索性分析(主元分析法、相關(guān)分析法等)等。神經(jīng)網(wǎng)絡(luò)方法中,可細(xì)分為:前向神經(jīng)網(wǎng)絡(luò)(BP算法等)、自組織神經(jīng)網(wǎng)絡(luò)(自組織特征映射、競爭學(xué)習(xí)等)等。數(shù)據(jù)庫方法主要是多維數(shù)據(jù)分析或OLAP方法,另外還有面向?qū)傩缘臍w納方法。
? ? ? ? ??
從挖掘任務(wù)和挖掘方法的角度,著重突破:
?1.可視化分析。數(shù)據(jù)可視化無論對于普通用戶或是數(shù)據(jù)分析專家,都是最基本的功能。數(shù)據(jù)圖像化可以讓數(shù)據(jù)自己說話,讓用戶直觀的感受到結(jié)果。
?2.數(shù)據(jù)挖掘算法。圖像化是將機(jī)器語言翻譯給人看,而數(shù)據(jù)挖掘就是機(jī)器的母語。分割、集群、孤立點(diǎn)分析還有各種各樣五花八門的算法讓我們精煉數(shù)據(jù),挖掘價值。這些算法一定要能夠應(yīng)付大數(shù)據(jù)的量,同時還具有很高的處理速度。
3.預(yù)測性分析。預(yù)測性分析可以讓分析師根據(jù)圖像化分析和數(shù)據(jù)挖掘的結(jié)果做出一些前瞻性判斷。
4.語義引擎。語義引擎需要設(shè)計(jì)到有足夠的人工智能以足以從數(shù)據(jù)中主動地提取信息。語言處理技術(shù)包括機(jī)器翻譯、情感分析、輿情分析、智能輸入、問答系統(tǒng)等。
5.數(shù)據(jù)質(zhì)量和數(shù)據(jù)管理。數(shù)據(jù)質(zhì)量與管理是管理的最佳實(shí)踐,透過標(biāo)準(zhǔn)化流程和機(jī)器對數(shù)據(jù)進(jìn)行處理可以確保獲得一個預(yù)設(shè)質(zhì)量的分析結(jié)果。
? ? ? ? ? ? ? ? ? ? ?
六、大數(shù)據(jù)展現(xiàn)與應(yīng)用技術(shù)
大數(shù)據(jù)技術(shù)能夠?qū)㈦[藏于海量數(shù)據(jù)中的信息和知識挖掘出來,為人類的社會經(jīng)濟(jì)活動提供依據(jù),從而提高各個領(lǐng)域的運(yùn)行效率,大大提高整個社會經(jīng)濟(jì)的集約化程度。在我國,大數(shù)據(jù)將重點(diǎn)應(yīng)用于以下三大領(lǐng)域:商業(yè)智能、政府決策、公共服務(wù)。例如:商業(yè)智能技術(shù),政府決策技術(shù),電信數(shù)據(jù)信息處理與挖掘技術(shù),電網(wǎng)數(shù)據(jù)信息處理與挖掘技術(shù),氣象信息分析技術(shù),環(huán)境監(jiān)測技術(shù),警務(wù)云應(yīng)用系統(tǒng)(道路監(jiān)控、視頻監(jiān)控、網(wǎng)絡(luò)監(jiān)控、智能交通、反電信詐騙、指揮調(diào)度等公安信息系統(tǒng)),大規(guī)模基因序列分析比對技術(shù),Web信息挖掘技術(shù),多媒體數(shù)據(jù)并行化處理技術(shù),影視制作渲染技術(shù),其他各種行業(yè)的云計(jì)算和海量數(shù)據(jù)處理應(yīng)用技術(shù)等。
大數(shù)據(jù)是近五年興起的行業(yè),發(fā)展迅速,很多技術(shù)經(jīng)過這些年的迭代也變得比較成熟了,同時新的東西也不斷涌現(xiàn),想要保持自己競爭力的唯一辦法就是不斷學(xué)習(xí)。但是,大數(shù)據(jù)需要學(xué)習(xí)什么?1 思維導(dǎo)圖下面的是我之前整理的一張思維導(dǎo)圖,內(nèi)容分成幾大塊,包括了分布式計(jì)算與查詢,分布式調(diào)度與管理,持久化存儲,大數(shù)據(jù)常用的編程語言等等內(nèi)容,每個大類下有很多的開源工具。2大數(shù)據(jù)需要的語言Javajava可以說是大數(shù)據(jù)最基礎(chǔ)的編程語言,據(jù)我這些年的經(jīng)驗(yàn),我接觸的很大一部分的大數(shù)據(jù)開發(fā)都是從Jave Web開發(fā)轉(zhuǎn)崗過來的(當(dāng)然也不是絕對我甚至見過產(chǎn)品轉(zhuǎn)崗大數(shù)據(jù)開發(fā)的,逆了個天)。一是因?yàn)榇髷?shù)據(jù)的本質(zhì)無非就是海量數(shù)據(jù)的計(jì)算,查詢與存儲,后臺開發(fā)很容易接觸到大數(shù)據(jù)量存取的應(yīng)用場景二就是java語言本事了,天然的優(yōu)勢,因?yàn)榇髷?shù)據(jù)的組件很多都是用java開發(fā)的像HDFS,Yarn,Hbase,MR,Zookeeper等等,想要深入學(xué)習(xí),填上生產(chǎn)環(huán)境中踩到的各種坑,必須得先學(xué)會java然后去啃源碼。說到啃源碼順便說一句,開始的時候肯定是會很難,需要對組件本身和開發(fā)語言都有比較深入的理解,熟能生巧慢慢來,等你過了這個階段,習(xí)慣了看源碼解決問題的時候你會發(fā)現(xiàn)源碼真香。Scalascala和java很相似都是在jvm運(yùn)行的語言,在開發(fā)過程中是可以無縫互相調(diào)用的。Scala在大數(shù)據(jù)領(lǐng)域的影響力大部分都是來自社區(qū)中的明星Spark和kafka,這兩個東西大家應(yīng)該都知道(后面我會有文章多維度介紹它們),它們的強(qiáng)勢發(fā)展直接帶動了Scala在這個領(lǐng)域的流行。Python和Shellshell應(yīng)該不用過多的介紹非常的常用,屬于程序猿必備的通用技能。python更多的是用在數(shù)據(jù)挖掘領(lǐng)域以及寫一些復(fù)雜的且shell難以實(shí)現(xiàn)的日常腳本。3分布式計(jì)算什么是分布式計(jì)算?分布式計(jì)算研究的是如何把一個需要非常巨大的計(jì)算能力才能解決的問題分成許多小的部分,然后把這些部分分配給許多服務(wù)器進(jìn)行處理,最后把這些計(jì)算結(jié)果綜合起來得到最終的結(jié)果。舉個栗子,就像是組長把一個大項(xiàng)目拆分,讓組員每個人開發(fā)一部分,最后將所有人代碼merge,大項(xiàng)目完成。聽起來好像很簡單,但是真正參與過大項(xiàng)目開發(fā)的人一定知道中間涉及的內(nèi)容可不少。分布式計(jì)算目前流行的工具有:離線工具Spark,MapReduce等實(shí)時工具Spark Streaming,Storm,F(xiàn)link等這幾個東西的區(qū)別和各自的應(yīng)用場景我們之后再聊。4分布式存儲傳統(tǒng)的網(wǎng)絡(luò)存儲系統(tǒng)采用的是集中的存儲服務(wù)器存放所有數(shù)據(jù),單臺存儲服務(wù)器的io能力是有限的,這成為了系統(tǒng)性能的瓶頸,同時服務(wù)器的可靠性和安全性也不能滿足需求,尤其是大規(guī)模的存儲應(yīng)用。分布式存儲系統(tǒng),是將數(shù)據(jù)分散存儲在多臺獨(dú)立的設(shè)備上。采用的是可擴(kuò)展的系統(tǒng)結(jié)構(gòu),利用多臺存儲服務(wù)器分擔(dān)存儲負(fù)荷,利用位置服務(wù)器定位存儲信息,它不但提高了系統(tǒng)的可靠性、可用性和存取效率,還易于擴(kuò)展。上圖是hdfs的存儲架構(gòu)圖,hdfs作為分布式文件系統(tǒng),兼?zhèn)淞丝煽啃院蛿U(kuò)展性,數(shù)據(jù)存儲3份在不同機(jī)器上(兩份存在同一機(jī)架,一份存在其他機(jī)架)保證數(shù)據(jù)不丟失。由NameNode統(tǒng)一管理元數(shù)據(jù),可以任意擴(kuò)展集群。主流的分布式數(shù)據(jù)庫有很多hbase,mongoDB,GreenPlum,redis等等等等,沒有孰好孰壞之分,只有合不合適,每個數(shù)據(jù)庫的應(yīng)用場景都不同,其實(shí)直接比較是沒有意義的,后續(xù)我也會有文章一個個講解它們的應(yīng)用場景原理架構(gòu)等。5分布式調(diào)度與管理現(xiàn)在人們好像都很熱衷于談"去中心化",也許是區(qū)塊鏈帶起的這個潮流。但是"中心化"在大數(shù)據(jù)領(lǐng)域還是很重要的,至少目前來說是的。分布式的集群管理需要有個組件去分配調(diào)度資源給各個節(jié)點(diǎn),這個東西叫yarn;需要有個組件來解決在分布式環(huán)境下"鎖"的問題,這個東西叫zookeeper;需要有個組件來記錄任務(wù)的依賴關(guān)系并定時調(diào)度任務(wù),這個東西叫azkaban。當(dāng)然這些“東西”并不是唯一的,其實(shí)都是有很多替代品的,本文只舉了幾個比較常用的例子。
數(shù)據(jù)倉庫數(shù)據(jù)建模的幾種思路主要分為一下幾種
1. 星型模式
星形模式(Star Schema)是最常用的維度建模方式。星型模式是以事實(shí)表為中心,所有的維度表直接連接在事實(shí)表上,像星星一樣。星形模式的維度建模由一個事實(shí)表和一組維表成,且具有以下特點(diǎn):a. 維表只和事實(shí)表關(guān)聯(lián),維表之間沒有關(guān)聯(lián);b. 每個維表主鍵為單列,且該主鍵放置在事實(shí)表中,作為兩邊連接的外鍵;c. 以事實(shí)表為核心,維表圍繞核心呈星形分布;
2. 雪花模式
雪花模式(Snowflake Schema)是對星形模式的擴(kuò)展。雪花模式的維度表可以擁有其他維度表的,雖然這種模型相比星型更規(guī)范一些,但是由于這種模型不太容易理解,維護(hù)成本比較高,而且性能方面需要關(guān)聯(lián)多層維表,性能也比星型模型要低。所以一般不是很常用
雪花模式
3.星座模式
星座模式是星型模式延伸而來,星型模式是基于一張事實(shí)表的,而星座模式是基于多張事實(shí)表的,而且共享維度信息。前面介紹的兩種維度建模方法都是多維表對應(yīng)單事實(shí)表,但在很多時候維度空間內(nèi)的事實(shí)表不止一個,而一個維表也可能被多個事實(shí)表用到。在業(yè)務(wù)發(fā)展后期,絕大部分維度建模都采用的是星座模式。
星座模型
首先我們要了解Java語言和Linux操作系統(tǒng),這兩個是學(xué)習(xí)大數(shù)據(jù)的基礎(chǔ),學(xué)習(xí)的順序不分前后。
大數(shù)據(jù)
Java :只要了解一些基礎(chǔ)即可,做大數(shù)據(jù)不需要很深的Java 技術(shù),學(xué)java SE 就相當(dāng)于有學(xué)習(xí)大數(shù)據(jù)基礎(chǔ)。
Linux:因?yàn)榇髷?shù)據(jù)相關(guān)軟件都是在Linux上運(yùn)行的,所以Linux要學(xué)習(xí)的扎實(shí)一些,學(xué)好Linux對你快速掌握大數(shù)據(jù)相關(guān)技術(shù)會有很大的幫助,能讓你更好的理解hadoop、hive、hbase、spark等大數(shù)據(jù)軟件的運(yùn)行環(huán)境和網(wǎng)絡(luò)環(huán)境配置,能少踩很多坑,學(xué)會shell就能看懂腳本這樣能更容易理解和配置大數(shù)據(jù)集群。還能讓你對以后新出的大數(shù)據(jù)技術(shù)學(xué)習(xí)起來更快。
Hadoop:這是現(xiàn)在流行的大數(shù)據(jù)處理平臺幾乎已經(jīng)成為大數(shù)據(jù)的代名詞,所以這個是必學(xué)的。Hadoop里面包括幾個組件HDFS、MapReduce和YARN,HDFS是存儲數(shù)據(jù)的地方就像我們電腦的硬盤一樣文件都存儲在這個上面,MapReduce是對數(shù)據(jù)進(jìn)行處理計(jì)算的,它有個特點(diǎn)就是不管多大的數(shù)據(jù)只要給它時間它就能把數(shù)據(jù)跑完,但是時間可能不是很快所以它叫數(shù)據(jù)的批處理。
Zookeeper:這是個萬金油,安裝Hadoop的HA的時候就會用到它,以后的Hbase也會用到它。它一般用來存放一些相互協(xié)作的信息,這些信息比較小一般不會超過1M,都是使用它的軟件對它有依賴,對于我們個人來講只需要把它安裝正確,讓它正常的run起來就可以了。
Mysql:我們學(xué)習(xí)完大數(shù)據(jù)的處理了,接下來學(xué)習(xí)學(xué)習(xí)小數(shù)據(jù)的處理工具mysql數(shù)據(jù)庫,因?yàn)橐粫bhive的時候要用到,mysql需要掌握到什么層度那?你能在Linux上把它安裝好,運(yùn)行起來,會配置簡單的權(quán)限,修改root的密碼,創(chuàng)建數(shù)據(jù)庫。這里主要的是學(xué)習(xí)SQL的語法,因?yàn)閔ive的語法和這個非常相似。
Sqoop:這個是用于把Mysql里的數(shù)據(jù)導(dǎo)入到Hadoop里的。當(dāng)然你也可以不用這個,直接把Mysql數(shù)據(jù)表導(dǎo)出成文件再放到HDFS上也是一樣的,當(dāng)然生產(chǎn)環(huán)境中使用要注意Mysql的壓力。
Hive:這個東西對于會SQL語法的來說就是神器,它能讓你處理大數(shù)據(jù)變的很簡單,不會再費(fèi)勁的編寫MapReduce程序。有的人說Pig那?它和Pig差不多掌握一個就可以了。
Oozie:既然學(xué)會Hive了,我相信你一定需要這個東西,它可以幫你管理你的Hive或者M(jìn)apReduce、Spark腳本,還能檢查你的程序是否執(zhí)行正確,出錯了給你發(fā)報(bào)警并能幫你重試程序,最重要的是還能幫你配置任務(wù)的依賴關(guān)系。我相信你一定會喜歡上它的,不然你看著那一大堆腳本,和密密麻麻的crond是不是有種想屎的感覺。
Hbase:這是Hadoop生態(tài)體系中的NOSQL數(shù)據(jù)庫,他的數(shù)據(jù)是按照key和value的形式存儲的并且key是唯一的,所以它能用來做數(shù)據(jù)的排重,它與MYSQL相比能存儲的數(shù)據(jù)量大很多。所以他常被用于大數(shù)據(jù)處理完成之后的存儲目的地。
Kafka:這是個比較好用的隊(duì)列工具,隊(duì)列是干嗎的?排隊(duì)買票你知道不?數(shù)據(jù)多了同樣也需要排隊(duì)處理,這樣與你協(xié)作的其它同學(xué)不會叫起來,你干嗎給我這么多的數(shù)據(jù)(比如好幾百G的文件)我怎么處理得過來,你別怪他因?yàn)樗皇歉愦髷?shù)據(jù)的,你可以跟他講我把數(shù)據(jù)放在隊(duì)列里你使用的時候一個個拿,這樣他就不在抱怨了馬上灰流流的去優(yōu)化他的程序去了,因?yàn)樘幚聿贿^來就是他的事情。而不是你給的問題。當(dāng)然我們也可以利用這個工具來做線上實(shí)時數(shù)據(jù)的入庫或入HDFS,這時你可以與一個叫Flume的工具配合使用,它是專門用來提供對數(shù)據(jù)進(jìn)行簡單處理,并寫到各種數(shù)據(jù)接受方(比如Kafka)的。
Spark:它是用來彌補(bǔ)基于MapReduce處理數(shù)據(jù)速度上的缺點(diǎn),它的特點(diǎn)是把數(shù)據(jù)裝載到內(nèi)存中計(jì)算而不是去讀慢的要死進(jìn)化還特別慢的硬盤。特別適合做迭代運(yùn)算,所以算法流們特別稀飯它。它是用scala編寫的。Java語言或者Scala都可以操作它,因?yàn)樗鼈兌际怯肑VM的。
本文題目:sqoopnosql的簡單介紹
網(wǎng)站URL:http://chinadenli.net/article42/dsgcgec.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、標(biāo)簽優(yōu)化、商城網(wǎng)站、網(wǎng)站設(shè)計(jì)公司、虛擬主機(jī)、網(wǎng)頁設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)