大数据都需要学什么?
首先我们要了解Java语言和Linux操作系统,这两个是学习大数据的基础,学习的顺序不分前后。
Java :只要了解一些基础即可,做大数据不需要很深的Java 技术,学java SE 就相当于有学习大数据基础。
Linux:因为大数据相关软件都是在Linux上运行的,所以Linux要学习的扎实一些,学好Linux对你快速掌握大数据相关技术会有很大的帮助,能让你更好的理解hadoop、hive、hbase、spark等大数据软件的运行环境和网络环境配置,能少踩很多坑,学会shell就能看懂脚本这样能更容易理解和配置大数据集群。还能让你对以后新出的大数据技术学习起来更快。
Hadoop:这是现在流行的大数据处理平台几乎已经成为大数据的代名词,所以这个是必学的。Hadoop里面包括几个组件HDFS、MapReduce和YARN,HDFS是存储数据的地方就像我们电脑的硬盘一样文件都存储在这个上面,MapReduce是对数据进行处理计算的,它有个特点就是不管多大的数据只要给它时间它就能把数据跑完,但是时间可能不是很快所以它叫数据的批处理。
Zookeeper:这是个万金油,安装Hadoop的HA的时候就会用到它,以后的Hbase也会用到它。它一般用来存放一些相互协作的信息,这些信息比较小一般不会超过1M,都是使用它的软件对它有依赖,对于我们个人来讲只需要把它安装正确,让它正常的run起来就可以了。
Mysql:我们学习完大数据的处理了,接下来学习学习小数据的处理工具mysql数据库,因为一会装hive的时候要用到,mysql需要掌握到什么层度那?你能在Linux上把它安装好,运行起来,会配置简单的权限,修改root的密码,创建数据库。这里主要的是学习SQL的语法,因为hive的语法和这个非常相似。
Sqoop:这个是用于把Mysql里的数据导入到Hadoop里的。当然你也可以不用这个,直接把Mysql数据表导出成文件再放到HDFS上也是一样的,当然生产环境中使用要注意Mysql的压力。
Hive:这个东西对于会SQL语法的来说就是神器,它能让你处理大数据变的很简单,不会再费劲的编写MapReduce程序。有的人说Pig那?它和Pig差不多掌握一个就可以了。
Oozie:既然学会Hive了,我相信你一定需要这个东西,它可以帮你管理你的Hive或者MapReduce、Spark脚本,还能检查你的程序是否执行正确,出错了给你发报警并能帮你重试程序,最重要的是还能帮你配置任务的依赖关系。我相信你一定会喜欢上它的,不然你看着那一大堆脚本,和密密麻麻的crond是不是有种想屎的感觉。
Hbase:这是Hadoop生态体系中的NOSQL数据库,他的数据是按照key和value的形式存储的并且key是唯一的,所以它能用来做数据的排重,它与MYSQL相比能存储的数据量大很多。所以他常被用于大数据处理完成之后的存储目的地。
Kafka:这是个比较好用的队列工具,队列是干吗的?排队买票你知道不?数据多了同样也需要排队处理,这样与你协作的其它同学不会叫起来,你干吗给我这么多的数据(比如好几百G的文件)我怎么处理得过来,你别怪他因为他不是搞大数据的,你可以跟他讲我把数据放在队列里你使用的时候一个个拿,这样他就不在抱怨了马上灰流流的去优化他的程序去了,因为处理不过来就是他的事情。而不是你给的问题。当然我们也可以利用这个工具来做线上实时数据的入库或入HDFS,这时你可以与一个叫Flume的工具配合使用,它是专门用来提供对数据进行简单处理,并写到各种数据接受方(比如Kafka)的。
Spark:它是用来弥补基于MapReduce处理数据速度上的缺点,它的特点是把数据装载到内存中计算而不是去读慢的要死进化还特别慢的硬盘。特别适合做迭代运算,所以算法流们特别稀饭它。它是用scala编写的。Java语言或者Scala都可以操作它,因为它们都是用JVM的。
2020-06-13 · 百度认证:河南云和数据信息技术有限公司官方账号
第一阶段:大数据基础
Java基础——Java语法基础。掌握JAVA的开发环境搭建以及基础知识等.能够熟练使用逻辑语法进行代码编写
数据结构——数组、链表、栈、队列、排序、二分查找、散列表、哈希表、二叉树,红黑树、递归树,堆和栈。继续提升大家的计算机素养,掌握算法初步。
MySQL基础——mysql安装、基本SQL语句、SQL优化。掌握数据库的基本应用。
Javaweb——tomacat、servlet、JSP 、MVC。掌握web开发的相关内容,理解数据来源
高级java——面向对象、网络编程、反射、多线程。理解分布式程序运行原理,为以后阅读大数据框架打下基础。
linux基础——虚拟机安装、常用linux命令、shell脚本。学会使用linux操作系统,为部署大数据集群做准备。
第二阶段:大数据框架
Hadoop——分布式存储、分布式计算、公共通用接口。掌握部署大数据集群,熟练编写map-reduce程序。
Zookeeper——Zookeeper协调机制、选举机制。搭建高可用集群。
Hive——数据仓库搭建、数据导入和分析。初步掌握数据仓库的概念,为后续企业级数仓做准备。
Hbase——Hbase集群搭建、大数据数据库工作原理、列式存储、高吞吐量应用开发。掌握大数据数据库Hbase的应用,科学的行键设计,热点数据处理。
Kafka——理解消息队列、Kafka集群部署、高并发高可用数据采集框架搭建。掌握高可以高并发数据队列系统设计、能处理峰值问题。
Scala——Scala语法基础、常用算子、异步通信。掌握优秀的数据处理语言Scala
Spark——Spark集群搭建、离线数据处理、实时数据处理、机器学习、图计算。掌握一栈式解决方案Spark,它是大数据的核心模块。
常用辅助框架——Sqoop、Flume、Presto、impala、Phoenix、oozie、ElasticSearch、kylin、MongoDB、Redi、Druid。掌握常用工具和与大数据紧密相关的框架,提高工作效率,拓展框架功能。
第三阶段:机器学习
python基础——python基础语法、面向对象、Numpy。掌握python基础语法和机器学习相关的基础框架。
数学基础——线性代数、微积分、概率、凸优化。本部分内容理解即可,对优化模型很重要。
常用算法——回归、KNN、决策树、聚类、集成学习、SVM、多分类、贝叶斯、EM、隐马模型、深度学习。掌握常用计算器学习算法的原理,能够根据数据特性选择合适的模型,训练泛化能力强的模型。
第四阶段:项目实操
云和数据有大数据专业,可以详细了解一下,看看这个专业的职业发展。
随着大数据的发展,越来越多的人想要进入大数据行业,大数据技术体系巨大,包含的常识非常多。
对于零基础想要学习大数据的人,一开始入门可能不会太简单。学习大数据至少需要掌握一门计算机编程语言,计算机编程语言有很多,Java是目前使用的比较广泛的编程语言之一。所以,学习大数据,掌握好Java是必不可少的。
另外学习大数据必须要学习大数据中心常识,大数据技术体系很复杂,与物联网、移动互联网、人工智能、云核算等都有着精密的关系。所以,Hadoop生态体系;HDFS技术;HBASE技术;Sqoop运用流程;数据仓库东西HIVE;大数据离线剖析Spark、Python言语;数据实时剖析Storm等都是学习大数据需要了解和掌握的。
从事大数据工作,免不了要分析数据。如果从事数据剖析师,就需要了解一定的数学常识。需要有一定的公式核算能力,了解常用计算模型算法。而如果从事数据发掘工程师,就需要能够熟练运用各类算法,对数学的要求是很高的。
大数据存储阶段:hbase、hive、sqoop。
大数据架构设计阶段:Flume分布式、Zookeeper、Kafka。
大数据实时计算阶段:Mahout、Spark、storm。
大数据数据采集阶段:Python、Scala。
大数据商业实战阶段:实操企业大数据处理业务场景,分析需求、解决方案实施,综合技术实战应用。
大数据(big data,mega data),或称巨量资料,指的是需要新处理模式才能具有更强的决策力、洞察力和流程优化能力的海量、高增长率和多样化的信息资产。 在维克托·迈尔-舍恩伯格及肯尼斯·库克耶编写的《大数据时代》中大数据指不用随机分析法(抽样调查)这样的捷径,而采用所有数据进行分析处理。大数据的5V特点:Volume(大量)、Velocity(高速)、Variety(多样)、Value(价值密度)、Veracity(真实性)。
大数据的5个“V”,或者说特点有五层面:
第一,数据体量巨大
从TB级别,跃升到PB级别。
第二,数据类型繁多
前文提到的网络日志、视频、图片、地理位置信息等等。
第三,价值密度低
以视频为例,连续不间断监控过程中,可能有用的数据仅仅有一两秒。
第四,处理速度快
1秒定律。最后这一点也是和传统的数据挖掘技术有着本质的不同。业界将其归纳为4个“V”——Volume,Variety,Value,Velocity。
物联网、云计算、移动互联网、车联网、手机、平板电脑、PC以及遍布地球各个角落的各种各样的传感器,无一不是数据来源或者承载的方式。
1、学习Java的基础知识,在学习大数据课程之前,首先要学习一门计算机编程语言。Java是大数据学习所需要的编程语言的基础,因为大数据的开发是基于常用的高级语言。无论是学习hadoop还是数据挖掘,都需要有一门编程语言作为基础。因此,如果想学习大数据开发,掌握Java基础是必不可少的。
2、Hadoop生态系统;HDFS技术;HBASE技术;Sqoop使用流程;数据仓库工具箱;大数据Spark、Python语言离线分析等。
3、数学知识是数据分析师的基础知识,对于数据分析师来说,要理解一些与统计描述相关的内容,需要具备一定的公式计算能力,了解常用的统计模型算法。而对于数据挖掘工程师来说,各种算法也需要熟练运用,对数学的要求是最高的。
学大数据到一个专业的机构咨询一下,CDA数据认证中心就挺不错的。CDA认证,致力于打造全球数据人才考核行业标准,推动全球数人才发展。CDA认证考试委员会与持证人会员、企业会员(包括CDMS、Oracle、IBM、Big Data University、Pearson VUE、Meritdata、TalkingData、CDA INSTITUTE、Yonghong Tech、 法国布雷斯特商学院、CASICloud Deutschland GmbH等)以及行业知名第三方机构,共同合作并推进全球范围内的数据科学研究事业及人才发展,包括开发和整合国际数据科学领域的前沿技术及优质资源。
制定并完善数据科学行业人才标准与职业道德行为准则;编写和建立专业教材体系与题库;组织并实施命题审题、人才评定和考试服务;管理会员与提供行业咨询服务等事务。