IT 时代,最重要的特征就是:“数据越来越多”。每天产生的数据源源不断,成为了
现代社会的“石油”。大数据的存储、分析都成了非常重要的技术。
大数据是现在这个时代非常流行的概念,并且随着人工智能的崛起,大数据也越来越有
价值。人工智能算法其实在三十年前就有了,但是没有用。原因是:第一、计算机不够快;
第二、数据量不够大,训练出来的模型太差。
IT 时代,其实也是大数据时代。我们产生的数据越来越多,这些数据反过来就像“石
油”一样,为我们提供了进一步的价值。人工智能等算法就像“吞食数据的怪兽”,数据越
多人工智能也越强大。
因此,在学习大数据之前,一定要先搞明白几个问题:
1. 什么大数据?
2. 什么是云计算?
3. 什么是数据挖掘?
4. 什么是人工智能?
5. 什么条件才能学习大数据?
了解之后你才能有的放矢,以及想一想自己是否适合学习。同时,也至少不会被人骗,
因为了解这些问题之后,一看课程大纲里面有“遥控机器人技术,Android 技术”等。这些
技术肯定和大数据是没有关系的。
由于篇幅的问题,这个几个问题的解答已经录制成一套视频。视频列表如下:
建议:在学习大数据之前最好花 2 个小时,认真看一下,所有人都能看懂。就算不想学
习大数据,也可以增加大家的知识面。
Hadoop 的框架最核心的设计就是:HDFS 和 MapReduce。HDFS 为海量的数据提供了存储,则 MapReduce 为海量的数据提供了计算。
HDFS 是一个高度容错性的系统,适合部署在廉价的机器上。HDFS 能提供高吞吐量的数据访问,非常适合大规模数据集上的程序计算。HDFS 技术是整个大数据的“入门”。只要从事大数据方面工作的程序员,不管你后面用什么样的分析技术都必须要学会HDFS。
MapReduce 是用于大规模数据集(大于 1TB)的并行运算。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。因为只有分布式计算才能解决“海量数据”的分析问题。
学好 HDFS,就能知道为什么它可以存储海量数据,知道“百度网盘”本身是什么?能否自己也能实现一个网盘。让大家一开始就进入大数据实战状态。
Hadoop 是大数据中必学的一个技术,也是大数据职位要求必有的一个技术。Hadoop 也
是后面其他技术的基础,学好了 Hadoop 才能更好的学好 Hive,Hbase,Spark,Storm 等。
大数据的数据仓库技术主要包括:Hive,Hbase,Sqoop,Flume 等。其中 Hive 在企业
中使用最为广泛。对于同学们来说,Hive 最容易入门,因为不用写代码;只需要有 sql 基
础就能很好的学习 Hive。
Hbase 是一个分布式、列式数据库。它解决的问题是:在海量数据的情况下还能做到秒
级的增、删、改、查操作。
Spark 是当前最为流行的基于内存计算的分布式框架,在 Spark 的生态圈中的框架几乎能够解决所有的大数据的应用场景,如果基于内存计算,计算速度比 Hadoop 生态圈MapReduce 快 100 倍,如果是基于磁盘的计算,那么速度快 10 倍以上,所以 Spark 是当前大数据开发人员必备的。
Spark 是有 Scala 语言开发的,包括:
Spark-Core ( 离 线 计 算 ) 、 Spark-SQL 、
Spark-Streaming(流式计算)、Spark-MLlib(机器学习)。
Spark 是整个大数据技术中的“重中之重”。因为在面试过程中,笔试题和面试题有 60%
的可能性会涉及到 Spark 知识点。所以,Spark 的学习要求是:了解 Spark 源码,能够优化
Spark、能够用 JAVA,Scala,Python 三种计算机语言开发任何的 Spark 程序。
机器学习(machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近
论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,
以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能
的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。
目前有两种比较流行的计算方式:离线计算和流式计算。
流计算方式:它可以很好地对大规模流动数据在不断变化的运动过程中实时地进行分析,
捕捉到可能有用的信息,并把结果发送到下一计算节点。
Storm 是流式计算中的技术之一,Storm 集群由一个主节点和多个工作节点组成。主节
点运行了一个名为“Nimbus”的守护进程,用于分配代码、布置任务及故障检测。每个工作
节 点都运行了一个名为“Supervisor”的守护进程,用于监听工作,开始并终止工作进程。
Nimbus 和 Supervisor 都能快速失败,而且是无 状态的,这样一来它们就变得十分健壮。