憋瞎說(shuō),大數(shù)據(jù)不是你想的那樣
學(xué)生黨以及很多沒(méi)設(shè)計(jì)過(guò)大數(shù)據(jù)開(kāi)發(fā)的小伙伴呢,都對(duì)大數(shù)據(jù)這么一個(gè)領(lǐng)域感到非常非常的好奇非常非常的神秘,我今天就非要戳穿給你們看。
1、對(duì),我們做大數(shù)據(jù)的也寫(xiě)普通的 Java 代碼,寫(xiě)普通的 SQL。
比如 Java API版的 Spark 程序,長(zhǎng)得跟 Java8 的Stream API 一樣一樣的。
- JavaRDD lines = sc.textFile("data.txt");
- JavaRDD lineLengths = lines.map(s -> s.length());
- int totalLength = lineLengths.reduce((a, b) -> a + b);
再比如,刪除一個(gè) Hive 表。
DROP TABLE pokes ;
2、對(duì),Hadoop 、Spark 、Hive 的啟動(dòng)和機(jī)器運(yùn)維都跟一個(gè)普通的 Java 應(yīng)用和數(shù)據(jù)庫(kù)沒(méi)什么區(qū)別。
比如啟動(dòng)hdfs
- bash ./start-dfs.sh
- 比如啟動(dòng)yarn
- bash ./start-yarn.sh
- 比如啟動(dòng)hive
- bash ./hive
完事了,有啥神秘的????不就是配一堆所有系統(tǒng)都有的配置嗎?
3、對(duì)不起,沒(méi)有一門(mén)叫數(shù)據(jù)倉(cāng)庫(kù)的技術(shù)。
數(shù)據(jù)倉(cāng)庫(kù)是一個(gè)集結(jié)了某個(gè)范圍內(nèi)所有經(jīng)過(guò)清洗的統(tǒng)一的數(shù)據(jù)存儲(chǔ)、分析的地點(diǎn),并沒(méi)有一門(mén)叫數(shù)據(jù)倉(cāng)庫(kù)的技術(shù)。
在實(shí)戰(zhàn)中,我們一般會(huì)使用 Hive 來(lái)當(dāng)數(shù)據(jù)倉(cāng)庫(kù)的載體,在沒(méi)有大數(shù)據(jù)基礎(chǔ)架構(gòu)的公司也會(huì)使用各種傳統(tǒng) DB 來(lái)當(dāng)數(shù)據(jù)倉(cāng)庫(kù)的載體,所以不要再說(shuō)什么你要學(xué)習(xí)數(shù)據(jù)倉(cāng)庫(kù) ok ? 要學(xué) Hive 就說(shuō)要學(xué) Hive,要學(xué)數(shù)據(jù)治理就說(shuō)要學(xué)數(shù)據(jù)治理。
4、對(duì),我們大數(shù)據(jù)就是死寫(xiě)SQL的,但腦回路跟你們不一樣
- 你們寫(xiě) SQL 優(yōu)先想功能,我們寫(xiě)SQL優(yōu)先想這他媽能不能跑出來(lái)。
- 你們寫(xiě) SQL 可以一直調(diào)一直調(diào),我們寫(xiě) SQL 要想好久才調(diào)一次,連機(jī)器是什么跑的都要想清楚。
- 你們寫(xiě) SQL 壓根不管數(shù)據(jù)分布,我們寫(xiě) SQL ***件事就是他媽不會(huì)數(shù)據(jù)傾斜吧?
- 你們寫(xiě) SQL 用都能直接寫(xiě),我們寫(xiě) SQL 前要寫(xiě)一萬(wàn)個(gè) SQL 做數(shù)據(jù)清洗。
5、對(duì),10倍,100倍,100萬(wàn)倍 的數(shù)據(jù)增長(zhǎng)我們就需要一直改方案,改改改。
你的 SQL 在10倍量下能跑,在100萬(wàn)倍下,你可能要付出非常久非常久的思考和努力才能基本跑出來(lái),比如一個(gè)簡(jiǎn)單的去重統(tǒng)計(jì)。
你的SQL count(1) group by 一下就出來(lái)了。
我的如果寫(xiě)得跟你一樣我估計(jì)這輩子都出不來(lái)結(jié)果了。
不解釋了,大數(shù)據(jù)計(jì)數(shù)系列了解一下。
大數(shù)據(jù)計(jì)數(shù)原理1+0=1這你都不會(huì)算(十)No.77
6、Spark 很快,但 Spark 也很慢
Spark是純內(nèi)存計(jì)算,但Spark也是批量計(jì)算,其中存在的缺陷你們思考一下,對(duì)比一下 FLink 這類(lèi)純流式計(jì)算。
7、即使你有100T數(shù)據(jù),你也不是在做大數(shù)據(jù)。
***數(shù)據(jù)存儲(chǔ)占用空間大不代表就是大數(shù)據(jù),第二即使你數(shù)據(jù)量級(jí)夠思維不對(duì)你也不是在做大數(shù)據(jù)。
8、大數(shù)據(jù)跟機(jī)器學(xué)習(xí)是一家,壓根離不開(kāi)
你可能永遠(yuǎn)也不會(huì)知道 分而治之,統(tǒng)計(jì)學(xué),概率論 在這兩個(gè)學(xué)科的統(tǒng)一性和重要性。
9、對(duì)不起,你別以為大數(shù)據(jù)只有 Hadoop,大數(shù)據(jù)技術(shù)棧廣和深得你幾乎不可想象。
你以為你學(xué)完了,完全不可"棱"。
先這樣,不知道寫(xiě)啥了,以上。