文章出自https://www.bjsxt.com/xiulian.html#1F
各位小伙伴想要博客相关资料的话关注公众号:chuanyeTry即可领取相关资料!
大数据和云计算学习
- 1.大数据学习之前“必看”
- 2.Hadoop框架
- 3.数据仓库技术
- 4.Spark内存计算框架
- 5.机器学习和数据挖掘
- 6.Storm流式计算框架
- 7.云计算之Openstack和docker
- 8.做一个大数据项目
IT时代,最重要的特征就是:“数据越来越多”。每天产生的数据源源不断,成为了现代社会的“石油”。大数据的存储、分析都成了非常重要的技术。
1.大数据学习之前“必看”
大数据是现在这个时代非常流行的概念,并且随着人工智能的崛起,大数据也越来越有价值。人工智能算法其实在三十年前就有了,但是没有用。原因是:第一、计算机不够快;第二、数据量不够大,训练出来的模型太差。
IT时代,其实也是大数据时代。我们产生的数据越来越多,这些数据反过来就像“石油”一样,为我们提供了进一步的价值。人工智能等算法就像“吞食数据的怪兽”,数据越多人工智能也越强大。
因此,在学习大数据之前,一定要先搞明白几个问题:
1.什么大数据?
2.什么是云计算?
3.什么是数据挖掘?
4.什么是人工智能?
5.什么条件才能学习大数据?
了解之后你才能有的放矢,以及想一想自己是否适合学习。同时,也至少不会被人骗,因为了解这些问题之后,一看课程大纲里面有“遥控机器人技术,android技术”等。这些技术肯定和大数据是没有关系的。
知识块
1、什么大数据?
2、什么是人工智能?
3、什么是机器学习和深度学习?
4、数据挖掘到底挖什么?
5、大数据技术体系介绍
6、基础可以学习大数据吗?
7、大数据工作职务多吗?薪水怎么样?
8、大数据简历怎么写?
9、大数据的学习方法
10、哪些技术才是大数据的重点内容?
2.Hadoop框架
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的程序计算。HDFS技术是整个大数据的“入门”。只要从事大数据方面工作的程序员,不管你后面用什么样的分析技术都必须要学会HDFS。
MapReduce是用于大规模数据集(大于1TB)的并行运算。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。因为只有分布式计算才能解决“海量数据”的分析问题。
学好HDFS,就能知道为什么它可以存储海量数据,知道“百度网盘”本身是什么?能否自己也能实现一个网盘。让大家一开始就进入大数据实战状态。
Hadoop是大数据中必学的一个技术,也是大数据职位要求必有的一个技术。Hadoop也是后面其他技术的基础,学好了Hadoop才能更好的学好Hive,Hbase,Spark,Storm等。
3.数据仓库技术
大数据的数据仓库技术主要包括:Hive,Hbase,Sqoop,Flume等。其中Hive在企业中使用最为广泛。对于同学们来说,Hive最容易入门,因为不用写代码;只需要有sql基础就能很好的学习Hive。
Hbase是一个分布式、列式数据库。它解决的问题是:在海量数据的情况下还能做到秒级的增、删、改、查操作。
4.Spark内存计算框架
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程序。
5.机器学习和数据挖掘
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。
在公司项目应用过程中,重点强调的分布式的机器学习,因为基于海量的数据必须采用分布式的机器学习库。否则根本就是“扯淡”。所以根据企业的需求,同学们也要分辨出哪些是分布式的机器学习库,比如:M ahout,Spark-Mllib等。
6.Storm流式计算框架
目前有两种比较流行的计算方式:离线计算和流式计算。
流计算方式:它可以很好地对大规模流动数据在不断变化的运动过程中实时地进行分析,捕捉到可能有用的信息,并把结果发送到下一计算节点。
Storm是流式计算中的技术之一,Storm集群由一个主节点和多个工作节点组成。主节点运行了一个名为“Nimbus”的守护进程,用于分配代码、布置任务及故障检测。每个工作节 点都运行了一个名为“Supervisor”的守护进程,用于监听工作,开始并终止工作进程。Nimbus和Supervisor都能快速失败,而且是无 状态的,这样一来它们就变得十分健壮。
一般来说只要用到了流式计算,还得用到Kafka。所以大数据里面需要掌握一套Kafka+Storm流式解决方案。
7.云计算之Openstack和docker
云计算从服务角度分为三层:
我们需要重点掌握:Iaas层的云计算技术。目前比较流行的云平台都是基于Iaas层的云计算,包括:阿里云(https://www.aliyun.com/)、腾讯云、百度云等。 而Openstack 和Docker就是属于Iaas层的云计算技术。
Openstack和Docker在找工作的过程中,对应的职位比较少,但是有很好的发展前景。建议大家先在入个门。等工作之后或者有剩余的时间再深入研究。
8.做一个大数据项目
“实战学习,最重要的就是参与项目”。大数据的技术学完之后,需要参与一个企业级的大项目,这样才能真正的出山,拿到高薪、获得更多的好机会。