隨著大數(shù)據(jù)分析市場(chǎng)迅速擴(kuò)展,哪些技術(shù)是最有需求和最有增長(zhǎng)潛力的呢?在Forrester Research的一份最新研究報(bào)告中,評(píng)估了22種技術(shù)在整個(gè)數(shù)據(jù)生命周期中的成熟度和軌跡。這些技術(shù)都對(duì)大數(shù)據(jù)的實(shí)時(shí)、預(yù)測(cè)和綜合洞察有著巨大的貢獻(xiàn)。
目前創(chuàng)新互聯(lián)公司已為上1000家的企業(yè)提供了網(wǎng)站建設(shè)、域名、雅安服務(wù)器托管、綿陽(yáng)服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、西林網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
1. 預(yù)測(cè)分析技術(shù)
這也是大數(shù)據(jù)的主要功能之一。預(yù)測(cè)分析允許公司通過分析大數(shù)據(jù)源來發(fā)現(xiàn)、評(píng)估、優(yōu)化和部署預(yù)測(cè)模型,從而提高業(yè)務(wù)性能或降低風(fēng)險(xiǎn)。同時(shí),大數(shù)據(jù)的預(yù)測(cè)分析也與我們的生活息息相關(guān)。淘寶會(huì)預(yù)測(cè)你每次購(gòu)物可能還想買什么,愛奇藝正在預(yù)測(cè)你可能想看什么,百合網(wǎng)和其他約會(huì)網(wǎng)站甚至試圖預(yù)測(cè)你會(huì)愛上誰……
2. NoSQL數(shù)據(jù)庫(kù)
NoSQL,Not Only SQL,意思是“不僅僅是SQL”,泛指非關(guān)系型數(shù)據(jù)庫(kù)。NoSQL數(shù)據(jù)庫(kù)提供了比關(guān)系數(shù)據(jù)庫(kù)更靈活、可伸縮和更便宜的替代方案,打破了傳統(tǒng)數(shù)據(jù)庫(kù)市場(chǎng)一統(tǒng)江山的格局。并且,NoSQL數(shù)據(jù)庫(kù)能夠更好地處理大數(shù)據(jù)應(yīng)用的需求。常見的NoSQL數(shù)據(jù)庫(kù)有HBase、Redis、MongoDB、Couchbase、LevelDB等。
3. 搜索和知識(shí)發(fā)現(xiàn)
支持來自于多種數(shù)據(jù)源(如文件系統(tǒng)、數(shù)據(jù)庫(kù)、流、api和其他平臺(tái)和應(yīng)用程序)中的大型非結(jié)構(gòu)化和結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)庫(kù)中自助提取信息的工具和技術(shù)。如,數(shù)據(jù)挖掘技術(shù)和各種大數(shù)據(jù)平臺(tái)。
4. 大數(shù)據(jù)流計(jì)算引擎
能夠過濾、聚合、豐富和分析來自多個(gè)完全不同的活動(dòng)數(shù)據(jù)源的數(shù)據(jù)的高吞吐量的框架,可以采用任何數(shù)據(jù)格式。現(xiàn)今流行的流式計(jì)算引擎有Spark Streaming和Flink。
5. 內(nèi)存數(shù)據(jù)結(jié)構(gòu)
通過在分布式計(jì)算機(jī)系統(tǒng)中動(dòng)態(tài)隨機(jī)訪問內(nèi)存(DRAM)、閃存或SSD上分布數(shù)據(jù),提供低延遲的訪問和處理大量數(shù)據(jù)。
6. 分布式文件存儲(chǔ)
為了保證文件的可靠性和存取性能,數(shù)據(jù)通常以副本的方式存儲(chǔ)在多個(gè)節(jié)點(diǎn)上的計(jì)算機(jī)網(wǎng)絡(luò)。常見的分布式文件系統(tǒng)有GFS、HDFS、Lustre 、Ceph等。
7. 數(shù)據(jù)虛擬化
數(shù)據(jù)虛擬化是一種數(shù)據(jù)管理方法,它允許應(yīng)用程序檢索和操作數(shù)據(jù),而不需要關(guān)心有關(guān)數(shù)據(jù)的技術(shù)細(xì)節(jié),比如數(shù)據(jù)在源文件中是何種格式,或者數(shù)據(jù)存儲(chǔ)的物理位置,并且可以提供單個(gè)客戶用戶視圖。
8. 數(shù)據(jù)集成
用于跨解決方案進(jìn)行數(shù)據(jù)編排的工具,如Amazon Elastic MapReduce (EMR)、Apache Hive、Apache Pig、Apache Spark、MapReduce、Couchbase、Hadoop和MongoDB等。
9. 數(shù)據(jù)準(zhǔn)備
減輕采購(gòu)、成形、清理和共享各種雜亂數(shù)據(jù)集的負(fù)擔(dān)的軟件,以加速數(shù)據(jù)對(duì)分析的有用性。
10. 數(shù)據(jù)質(zhì)量
使用分布式數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)庫(kù)上的并行操作,對(duì)大型高速數(shù)據(jù)集進(jìn)行數(shù)據(jù)清理和充實(shí)的產(chǎn)品。
一個(gè)公司里面不同項(xiàng)目可能用到不同的數(shù)據(jù)源,有的存在MySQL里面,又的存在MongoDB里面,甚至還有些要做第三方數(shù)據(jù)。
但是現(xiàn)在又想把數(shù)據(jù)整合起來,進(jìn)行 數(shù)據(jù)分析 。此時(shí)數(shù)據(jù)倉(cāng)庫(kù)(Data Warehouse,DW)就派上用場(chǎng)了。它可以對(duì)多種業(yè)務(wù)數(shù)據(jù)進(jìn)行篩選和整合,可以用于數(shù)據(jù)分析、數(shù)據(jù)挖掘、數(shù)據(jù)報(bào)表。
總的來說,數(shù)據(jù)倉(cāng)庫(kù)是將多個(gè)數(shù)據(jù)源的數(shù)據(jù)按照一定的 主題 集成起來,因?yàn)橹暗臄?shù)據(jù)各不相同,所以需要 抽取、清洗、轉(zhuǎn)換 。
整合以后的數(shù)據(jù)不允許隨便修改,只能分析,還需要定期更新。
上面我們說過,數(shù)據(jù)倉(cāng)庫(kù)接收的數(shù)據(jù)源是不同的,要做集成的話,需要 抽取、清洗、轉(zhuǎn)換 三個(gè)步驟,這就是 ETL (Extract-Transform-Load)
國(guó)內(nèi)最常用的是一款基于Hadoop的開源數(shù)據(jù)倉(cāng)庫(kù),名為 Hive ,它可以對(duì)存儲(chǔ)在 HDFS 的文件數(shù)據(jù)進(jìn)行 查詢、分析 。
Hive對(duì)外可以提供HiveQL,這是類似于SQL語(yǔ)言的一種查詢語(yǔ)言。在查詢時(shí)可以將HiveQL語(yǔ)句轉(zhuǎn)換為 MapReduce 任務(wù),在Hadoop層進(jìn)行執(zhí)行。
Hive的最大優(yōu)勢(shì)在于 免費(fèi) ,那其他知名的商業(yè)數(shù)據(jù)倉(cāng)庫(kù)有那些呢?比如Oracle,DB2,其中業(yè)界老大是 Teradata
Teradata數(shù)據(jù)倉(cāng)庫(kù)支持大規(guī)模并行處理平臺(tái)(MPP),可以高速處理海量實(shí)際上,性能遠(yuǎn)遠(yuǎn)高于Hive。對(duì)企業(yè)來說,只需要專注于業(yè)務(wù),節(jié)省管理技術(shù)方面的精力,實(shí)現(xiàn)ROI(投資回報(bào)率)最大化。
上面提到了Hive是最著名的開源數(shù)據(jù)倉(cāng)庫(kù),它是Hadoop生態(tài)中一個(gè)重要的組件。
Hadoop的生態(tài)中,HDFS解決了分布式存儲(chǔ)的問題,MapReduce解決了分布式計(jì)算的問題,而HBASE則提供了一種NoSQL的存儲(chǔ)方法。
但是如果需要的HDFS上的文件或者HBASE的表進(jìn)行查詢,需要自定義MapReduce方法。那么Hive其實(shí)就是在HDFS上面的一個(gè)中間層,它可以讓業(yè)務(wù)人員直接使用SQL進(jìn)行查詢。
所以Hive是用進(jìn)行數(shù)據(jù)提取轉(zhuǎn)換加載的,而且它可以把SQL轉(zhuǎn)換為MapReduce任務(wù),而Hive的表就是HDFS的目錄或者文件。
上圖為Hive的體系結(jié)構(gòu)
Hive主要包含以下幾種數(shù)據(jù)模型:
本文為 什么是數(shù)據(jù)倉(cāng)庫(kù)? 的筆記
首先感覺你有點(diǎn)亂。。。
你先明白數(shù)據(jù)倉(cāng)庫(kù)的作用--存儲(chǔ)歷史數(shù)據(jù)-進(jìn)而對(duì)數(shù)據(jù)進(jìn)行分析,只提供查詢-不提供修改
1。Hive 的目標(biāo)是做成數(shù)據(jù)倉(cāng)庫(kù),所以它提供了SQL,提供了文件-表的映射關(guān)系,又由于Hive基于HDFS,所以不提供Update,因?yàn)镠DFS本身就不支持。
2.HBase 是NoSQL數(shù)據(jù)庫(kù)-所以不要跟傳統(tǒng)混淆并談-NoSQL 提供的是另一種思路來滿足高性能的需求,而這些是傳統(tǒng)數(shù)據(jù)庫(kù)的短板,與傳統(tǒng)數(shù)據(jù)庫(kù)的理念不一樣
3.load data 這個(gè)可以自己去查。Hbase要使用自己的API
4.是的。
5.這句話不對(duì)。
6.映射就是結(jié)構(gòu)對(duì)應(yīng)-如文件每一行的第一個(gè)字段-映射到Hive表的第一個(gè)字段
類似Hibernate的語(yǔ)法解析。
Hive本身實(shí)現(xiàn)了一套語(yǔ)法結(jié)構(gòu)也就是操作符。如掃描文件等,最終記本都會(huì)轉(zhuǎn)換成MapReduce來運(yùn)行
hbase和hive的主要區(qū)別是:他們對(duì)于其內(nèi)部的數(shù)據(jù)的存儲(chǔ)和管理方式是不同的,hbase其主要特點(diǎn)是仿照bigtable的列勢(shì)存儲(chǔ),對(duì)于大型的數(shù)據(jù)的存儲(chǔ),查詢比傳統(tǒng)數(shù)據(jù)庫(kù)有巨大的優(yōu)勢(shì),而hive其產(chǎn)生主要應(yīng)對(duì)的數(shù)據(jù)倉(cāng)庫(kù)問題,其將存在在hdfs上的文件目錄結(jié)構(gòu)映射成表。主要關(guān)注的是對(duì)數(shù)據(jù)的統(tǒng)計(jì)等方面。適合的場(chǎng)景:hbase:適合大型數(shù)據(jù)存儲(chǔ),其作用可以類比于傳統(tǒng)數(shù)據(jù)庫(kù)的作用,主要關(guān)注的數(shù)據(jù)的存取。hive:適合大數(shù)據(jù)的管理,統(tǒng)計(jì),處理,其作用類比于傳統(tǒng)的數(shù)據(jù)倉(cāng)庫(kù),主要關(guān)注的數(shù)據(jù)的處理。總結(jié):應(yīng)對(duì)大數(shù)據(jù)的時(shí)候,如果你偏重于數(shù)據(jù)存儲(chǔ)查詢hbase無疑是更加適合,而你關(guān)注的是對(duì)大數(shù)據(jù)的處理結(jié)果查詢,比如你查詢的時(shí)候有類似于count,sum等函數(shù)操作 hive就能滿足你的需求,一般有些項(xiàng)目都輸在hive里面進(jìn)行數(shù)據(jù)處理,然后將結(jié)果導(dǎo)入mysql等數(shù)據(jù)庫(kù)或者h(yuǎn)base中進(jìn)行查詢,至于mysql與hbase的選擇 比較傾向于你的處理之后的數(shù)據(jù)量