1. 程式人生 > >大數據和你想的不一樣

大數據和你想的不一樣

回路 100萬 思考 yar 公司 get 得到 刪除 很快

1、對,我們做大數據的也寫普通的 Java 代碼,寫普通的 SQL。

比如 Java API版的 Spark 程序,長得跟 Java8 的Stream API 一樣一樣的。

JavaRDD<String> lines = sc.textFile("data.txt");
JavaRDD<Integer> lineLengths = lines.map(s -> s.length());
int totalLength = lineLengths.reduce((a, b) -> a + b);

再比如,刪除一個 Hive 表。

DROP TABLE pokes;

2、對,Hadoop 、Spark 、Hive 的啟動和機器運維都跟一個普通的 Java 應用和數據庫沒什麽區別。

比如啟動hdfs

bash ./start-dfs.sh

比如啟動yarn

bash ./start-yarn.sh

比如啟動hive

bash ./hive

完事了,有啥神秘的????不就是配一堆所有系統都有的配置嗎?

3、對不起,沒有一門叫數據倉庫的技術。

數據倉庫是一個集結了某個範圍內所有經過清洗的統一的數據存儲、分析的地點,並沒有一門叫數據倉庫的技術。

在實戰中,我們一般會使用 Hive 來當數據倉庫的載體,在沒有大數據基礎架構的公司也會使用各種傳統 DB 來當數據倉庫的載體,所以不要再說什麽你要學習數據倉庫 ok ? 要學 Hive 就說要學 Hive,要學數據治理就說要學數據治理。

4、對,我們大數據就是死寫SQL的,但腦回路跟你們不一樣

你們寫 SQL 優先想功能,我們寫SQL優先想這他媽能不能跑出來。

你們寫 SQL 可以一直調一直調,我們寫 SQL 要想好久才調一次,連機器是什麽跑的都要想清楚。

你們寫 SQL 壓根不管數據分布,我們寫 SQL 第一件事就是他媽不會數據傾斜吧?

你們寫 SQL 用都能直接寫,我們寫 SQL 前要寫一萬個 SQL 做數據清洗。

5、對,10倍,100倍,100萬倍 的數據增長我們就需要一直改方案,改改改。

你的 SQL 在10倍量下能跑,在100萬倍下,你可能要付出非常久非常久的思考和努力才能基本跑出來,比如一個簡單的去重統計。

你的SQL count(1) group by 一下就出來了。

我的如果寫得跟你一樣我估計這輩子都出不來結果了。

不解釋了,大數據計數系列了解一下。

大數據計數原理1+0=1這你都不會算(十)No.77

6、Spark 很快,但 Spark 也很慢

Spark是純內存計算,但Spark也是批量計算,其中存在的缺陷你們思考一下,對比一下 FLink 這類純流式計算。

7、即使你有100T數據,你也不是在做大數據。

第一數據存儲占用空間大不代表就是大數據,第二即使你數據量級夠思維不對你也不是在做大數據。

8、大數據跟機器學習是一家,壓根離不開

你可能永遠也不會知道 分而治之,統計學,概率論 在這兩個學科的統一性和重要性。

9、對不起,你別以為大數據只有 Hadoop,大數據技術棧廣和深得你幾乎不可想象。

你以為你學完了,完全不可"棱"。

https://mp.weixin.qq.com/s/ynz-mLlyO052LxyhbyovAw

大數據從大量、快速變化、多種特征、低價值數據中得到不可替代的價值,其挑戰和難點不少,現在不少重復的數據處理工作要人來做,需要有工具自動化思維來變革。

大數據和你想的不一樣