大数据是一门有前途的it学科,目前,行情十分火爆,不论是阿里巴巴、百度这样的大公司,还是中小企业都很重视,是第一个纳入国家战略的技术,政府扶持力度大!
大数据高额的薪水、良好的发展前景,吸引了一大批有志之士,想学习并从事大数据相关工作,那么,大数据应该如何学习呢?
学习大数据之前,我们首选需要知道,从事大数据相关工作需掌握哪些知识和技能:
1. java编程
java编程是大数据开发的基础,大数据中很多技术都是使用java编写的,如hadoop、spark、mapreduce等,因此,想要学好大数据,java编程是必备技能!
2. linux运维
企业大数据开发往往是在linux操作系统下完成的,因此,想从事大数据相关工作,需要掌握linux系统操作方法和相关命令。
3. hadoop
hadoop是一个能够对大量数据进行分布式处理的软件框架,hdfs和mapreduce是其核心设计,hdfs为海量的数据提供了存储,mapreduce为海量的数据提供了计算,是大数据开发必不可少的框架技能。
4. zookeeper
zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是google的chubby一个开源的实现,是hadoop和hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
5. hive
hive是基于hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为mapreduce任务进行运行,十分适合数据仓库的统计分析。
6. hbase
这是hadoop生态体系中的nosql数据库,他的数据是按照key和value的形式存储的并且key是唯一的,所以它能用来做数据的排重,它与mysql相比能存储的数据量大很多
7. kafka
kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据,通过hadoop的并行加载机制来统一线上和离线的消息处理,通过集群来提供实时的消息。
8. spark
spark 是专为大规模数据处理而设计的快速通用的计算引擎,拥有hadoop mapreduce所具有的优点,但不同于mapreduce的是job中间输出结果可以保存在内存中,从而不再需要读写hdfs,因此spark能更好地适用于数据挖掘与机器学习等需要迭代的mapreduce的算法。