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