大数据都需要掌握什么?
1、编程语言:Java、python
2、Linux
掌握Linux系统的基本操作。
3、SQL
大数据的特点就是数据量非常大,因此大数据的核心之一就是数据仓储相关工作。因此大数据工作对于数据库要求是非常的高。
4、分布式计算
面对海量的数据,往往一个服务器无法存储所有的数据。这样数据就散落在各台服务器中,需要取用时则要从各台服务器中获取数据进行计算。
(1)Hadoop(分布式管理、存储、计算的生态系统)
三大模块:HDFS(存储)、MapReduce(计算)、Yarn(资源调度)。计算模块中只提供了Map和Reduce两个操作。
Hadoop的一个任务为一个job,该job里分为Map Task和Reduce Task阶段。Hadoop是从HDFS读取数据,通过计算模块MR将中间结果写入HDFS;然后再重新从
HDFS读取数据进行MR,再刷写到HDFS。因为一个Job只有一个Map和Reduce阶段,对于复杂的计算,需要使用多次MR,这样涉及到落盘和磁盘IO,效率不高。
Hadoop适合处理离线的静态的大数据,HDFS只能对数据进行追加和全表删除。
(2)spark(分布式计算平台)
Spark是专门为大规模数据处理而设计的快速通用的计算引擎。可以用它来完成各种各样的运算,包括SQL查询、文本处理、机器学习等等。
scala语言编写,丰富了算子,可以通过RDD转换算子和RDD行动算子,实现很多复杂算法操作。
spark的一个任务为一个application:一个Application -> 多个job ->一个job多个stage -> 一个stage多个task
spark只是一个计算分析框架,专门用来对分布式存储的数据进行计算处理,它本身并不能存储数据。因此它要配合其他含有数据的分布式文件系统才能运作,
Spark可以使用基于HDFS的HBase数据库,也可以使用HDFS的数据文件,还可以通过jdbc连接使用Mysql数据库数据。
Spark的设计模式是读取集群中的数据后,在内存中存储和运算,直到全部运算完毕后,再存储到集群中:设计计算模式,通过RDD进行转换,数据之间形成血缘关
系和类型转换。中间结果存放优先存放在内存中,内存不够再存放在磁盘中,不放入HDFS,避免了大量的IO和刷写读取操作;
Spark适合处理离线的流式的大数据,可以对数据库数据进行修改删除。
5、机器学习
————————————————
版权声明:转载自CSDN攻城狮Kevin

浙公网安备 33010602011771号