我剛開(kāi)始學(xué)習(xí)接觸編程時(shí),是接觸的C語(yǔ)言,然后是C++,后來(lái)就是Java。當(dāng)我第一次接觸Java時(shí),就深深地愛(ài)上了它,因?yàn)樗?jiǎn)單,易懂。之后接觸JavaWeb,開(kāi)始學(xué)些開(kāi)發(fā)后端的技術(shù)。那時(shí)大數(shù)據(jù)也比較火熱,再加上自己本身就是數(shù)學(xué)出生,大數(shù)據(jù)對(duì)我來(lái)說(shuō)就是一個(gè)很好的選擇啦。
慢慢地我就開(kāi)始接觸大數(shù)據(jù),從JavaSE學(xué)起,接著學(xué)習(xí)Linux系統(tǒng),其中Linux中有CentOS和ubuntu,這兩者個(gè)人覺(jué)得都好用。接著學(xué)習(xí)地就是Hadoop,它包括兩大塊HDFS(分布式文件系統(tǒng))和MapReduce(并行計(jì)算框架),雖說(shuō)MapReduce現(xiàn)在用的少了,但是學(xué)習(xí)它之后,對(duì)你以后學(xué)習(xí)更好的并行計(jì)算框架來(lái)說(shuō)有很多的好處。接著就可以學(xué)習(xí)數(shù)據(jù)倉(cāng)庫(kù)Hive,Hive的底層實(shí)現(xiàn)其實(shí)就是MapReduce,它使用的SQL語(yǔ)言叫做HQL,之前學(xué)過(guò)MySQL數(shù)據(jù)庫(kù)的話,很容易上手,但是想更深的了解Hive的話,還需學(xué)習(xí)MapReduce,Hive它用于OLAP,不支持事務(wù)性。接著再學(xué)習(xí)HBase面向列族的分布式數(shù)據(jù)庫(kù),它支持事務(wù)操作,但是在實(shí)踐中個(gè)人感覺(jué)不太好使。它是架在Hadoop之上的數(shù)據(jù)庫(kù),適用于隨機(jī)訪問(wèn),實(shí)時(shí)讀寫(xiě)。然而有了大量的數(shù)據(jù)之后,如何更好的把來(lái)源不同的數(shù)據(jù)導(dǎo)入到自己想要用的數(shù)據(jù)庫(kù)中呢,可以使用Sqoop,個(gè)人認(rèn)為它簡(jiǎn)單好用,方便。
接下來(lái)就可以學(xué)習(xí)Flume,它是一個(gè)分布式的收集日志的框架,可以處理很多種類(lèi)型的文件。接著就學(xué)習(xí)Kafka,它是一個(gè)消息發(fā)布訂閱實(shí)時(shí)處理系統(tǒng)。具有高吞吐量的能力。接著可以學(xué)習(xí)Strom ,實(shí)時(shí)的流計(jì)算框架。可以高速的攫取數(shù)據(jù),可以執(zhí)行各種數(shù)據(jù)的并行計(jì)算。接下來(lái)就可以學(xué)習(xí)Spark,Spark由SparkSQL、Spark Streaming、MLlib、Graph等組成,可以解決Batch Processing、Stream Processing、Ad-hocQuery(即席查詢(xún))等三大核心問(wèn)題。Spark確實(shí)相比于MapReduce來(lái)說(shuō)要快很多,畢竟它是基于內(nèi)存計(jì)算的框架。
接下來(lái)還可以學(xué)習(xí)數(shù)據(jù)分析,數(shù)據(jù)挖掘,機(jī)器學(xué)習(xí)等相關(guān)的知識(shí)。
現(xiàn)在我就開(kāi)始解讀一下什么是大數(shù)據(jù)?
大數(shù)據(jù)顧名思義就是數(shù)據(jù)量很大,大到什么級(jí)別嗎?它不是幾兆,不是幾個(gè)GB,而是幾百GB,幾個(gè)TB,幾個(gè)PB,達(dá)到傳統(tǒng)的數(shù)據(jù)庫(kù)根本承受不了,現(xiàn)在一般都是用Hadoop技術(shù),Hive技術(shù),Spark技術(shù)等處理。
那么大數(shù)據(jù)的特征有哪些呢?有4點(diǎn)
1.數(shù)據(jù)在體量方面很大,比如說(shuō)文字,有各種各樣的來(lái)源,有電子書(shū)|實(shí)體書(shū)|雜志|報(bào)刊等,它們的數(shù)據(jù)大吧。
2.數(shù)據(jù)的類(lèi)型多種多樣,有些是結(jié)構(gòu)化的數(shù)據(jù),像存在Oracle,MySQL這些傳統(tǒng)的數(shù)據(jù)庫(kù)里的數(shù)據(jù),一般都是結(jié)構(gòu)化,可 以是還有非結(jié)構(gòu)化,比如HTML,WORD,execl等格式。
3.它們的價(jià)值密度低,這樣說(shuō)吧,你比如說(shuō)觀看一條數(shù)據(jù)好像價(jià)值也不大,但是分析所有的數(shù)據(jù)之后呢?總會(huì)挖掘出一些 重要的東西。
大數(shù)據(jù)的特征
4.處理這些數(shù)據(jù)的速度要快。比如像Hadoop技術(shù)的MapReduce計(jì)算框架,相比傳統(tǒng)的數(shù)據(jù)庫(kù)處理速度要快,它的吞吐量 特別的大,再比如Spark,Spark在內(nèi)存方面計(jì)算比Hadoop快100倍,在磁盤(pán)方面計(jì)算快10倍。
大數(shù)據(jù)的處理與傳統(tǒng)的數(shù)據(jù)處理的區(qū)別是什么呢?
就是使用全部的數(shù)據(jù)來(lái)分析,得出結(jié)論,想想就知道它的好處啦。
大數(shù)據(jù)的應(yīng)用???
可以做推薦系統(tǒng)的,想電商、影視類(lèi)的app,你平時(shí)關(guān)注什么商品,或者瀏覽什么類(lèi)型的商品,或者看什么類(lèi)型的影視,或者看誰(shuí)主要的影視,經(jīng)過(guò)大數(shù)據(jù)分析處理之后,這些app就會(huì)推薦想類(lèi)似的商品或者影視
在銷(xiāo)售方面,我想一個(gè)例子大家都聽(tīng)說(shuō)過(guò),就是尿片和啤酒的捆綁銷(xiāo)售
銀行方面的反欺詐應(yīng)用。經(jīng)過(guò)大量的數(shù)據(jù)分析,可以得出欺詐的行為特征,根據(jù)這些特征就可以更大概率的確定是不是欺詐行為
人工智能方面,想Google的阿爾法狗,無(wú)人汽車(chē)駕駛等,這些都在使用大數(shù)據(jù)。
......