大数据不是你想的那样

  • 时间: 2018-09-23 06:22:34

学生党以及很多没设计过大数据开发的小伙伴呢,都对大数据这么一个领域感到非常非常的好奇非常非常的神秘,我今天就非要戳穿给你们看。

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,大数据技术栈广和深得你几乎不可想象。

你以为你学完了,完全不可"棱"。

先这样,不知道写啥了,以上。