大数据专业主要学习啥语言?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据专业主要学习啥语言?相关的知识,希望对你有一定的参考价值。
大数据是近五年兴起的行业,发展迅速,很多技术经过这些年的迭代也变得比较成熟了,同时新的东西也不断涌现,想要保持自己竞争力的唯一办法就是不断学习。但是,大数据需要学习什么?1 思维导图下面的是我之前整理的一张思维导图,内容分成几大块,包括了分布式计算与查询,分布式调度与管理,持久化存储,大数据常用的编程语言等等内容,每个大类下有很多的开源工具。2大数据需要的语言Javajava可以说是大数据最基础的编程语言,据我这些年的经验,我接触的很大一部分的大数据开发都是从Jave Web开发转岗过来的(当然也不是绝对我甚至见过产品转岗大数据开发的,逆了个天)。一是因为大数据的本质无非就是海量数据的计算,查询与存储,后台开发很容易接触到大数据量存取的应用场景二就是java语言本事了,天然的优势,因为大数据的组件很多都是用java开发的像HDFS,Yarn,Hbase,MR,Zookeeper等等,想要深入学习,填上生产环境中踩到的各种坑,必须得先学会java然后去啃源码。说到啃源码顺便说一句,开始的时候肯定是会很难,需要对组件本身和开发语言都有比较深入的理解,熟能生巧慢慢来,等你过了这个阶段,习惯了看源码解决问题的时候你会发现源码真香。Scalascala和java很相似都是在jvm运行的语言,在开发过程中是可以无缝互相调用的。Scala在大数据领域的影响力大部分都是来自社区中的明星Spark和kafka,这两个东西大家应该都知道(后面我会有文章多维度介绍它们),它们的强势发展直接带动了Scala在这个领域的流行。Python和Shellshell应该不用过多的介绍非常的常用,属于程序猿必备的通用技能。python更多的是用在数据挖掘领域以及写一些复杂的且shell难以实现的日常脚本。3分布式计算什么是分布式计算?分布式计算研究的是如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多服务器进行处理,最后把这些计算结果综合起来得到最终的结果。举个栗子,就像是组长把一个大项目拆分,让组员每个人开发一部分,最后将所有人代码merge,大项目完成。听起来好像很简单,但是真正参与过大项目开发的人一定知道中间涉及的内容可不少。分布式计算目前流行的工具有:离线工具Spark,MapReduce等实时工具Spark Streaming,Storm,Flink等这几个东西的区别和各自的应用场景我们之后再聊。4分布式存储传统的网络存储系统采用的是集中的存储服务器存放所有数据,单台存储服务器的io能力是有限的,这成为了系统性能的瓶颈,同时服务器的可靠性和安全性也不能满足需求,尤其是大规模的存储应用。分布式存储系统,是将数据分散存储在多台独立的设备上。采用的是可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。上图是hdfs的存储架构图,hdfs作为分布式文件系统,兼备了可靠性和扩展性,数据存储3份在不同机器上(两份存在同一机架,一份存在其他机架)保证数据不丢失。由NameNode统一管理元数据,可以任意扩展集群。主流的分布式数据库有很多hbase,mongoDB,GreenPlum,redis等等等等,没有孰好孰坏之分,只有合不合适,每个数据库的应用场景都不同,其实直接比较是没有意义的,后续我也会有文章一个个讲解它们的应用场景原理架构等。5分布式调度与管理现在人们好像都很热衷于谈"去中心化",也许是区块链带起的这个潮流。但是"中心化"在大数据领域还是很重要的,至少目前来说是的。分布式的集群管理需要有个组件去分配调度资源给各个节点,这个东西叫yarn;需要有个组件来解决在分布式环境下"锁"的问题,这个东西叫zookeeper;需要有个组件来记录任务的依赖关系并定时调度任务,这个东西叫azkaban。当然这些“东西”并不是唯一的,其实都是有很多替代品的,本文只举了几个比较常用的例子。 参考技术A 大数据专业语言主要以java、python为主,课程知识点多,难度大,入职门槛高,建议本科学历再学!大数据学习内容主要
①JavaSE核心技术;
②Hadoop平台核心技术、Hive开发、HBase开发;
③Spark相关技术、Scala基本编程;
④掌握Python基本使用、核心库的使用、Python爬虫、简单数据分析;理解Python机器学习;
⑤大数据项目开发实战,大数据系统管理优化等。
基础阶段:linux、docker、kvm、mysql基础、oracle基础、mongodb、redis。
hadoop mapreduce hdfs yarn:hadoop:hadoop 概念、版本、历史,hdfs工作原理,yarn介绍及组件介绍。
大数据存储阶段:hbase、hive、sqoop。
大数据架构设计阶段:flume分布式、zookeeper、kafka。
大数据实时计算阶段:mahout、spark、storm。
大数据数据采集阶段:python、scala。
大数据商业实战阶段:实操企业大数据处理业务场景,分析需求、解决方案实施,综合技术实战应用。 参考技术B 大数据专业主要学习的语言有JAVA、Python、shell 参考技术C (1)大数据与Hadoop生态系统。详细介绍分析分布式文件系统HDFS、集群文件系统ClusterFS和NoSQL Database技术的原理与应用;分布式计算框架Mapreduce、分布式数据库HBase、分布式数据仓库Hive。
(2)关系型数据库技术。详细介绍关系型数据库的原理,掌握典型企业级数据库的构建、管理、开发及应用。
(3)分布式数据处理。详细介绍分析Map/Reduce计算模型和Hadoop Map/Reduce技术的原理与应用。
(4)海量数据分析与数据挖掘。详细介绍数据挖掘技术、数据挖掘算法–Minhash, Jaccard and Cosine similarity,TF-IDF数据挖掘算法–聚类算法;以及数据挖掘技术在行业中的具体应用。
(5)物联网与大数据。详细介绍物联网中的大数据应用、遥感图像的自动解译、时间序列数据的查询、分析和挖掘。
(6)文件系统(HDFS)。详细介绍HDFS部署,基于HDFS的高性能提供高吞吐量的数据访问。
(7)NoSQL。详细介绍NoSQL非关系型数据库系统的原理、架构及典型应用。
研究生阶段的大数据专业都学习什么科目?
相较本科阶段要学习的计算机编程语言,比如:java,linux,mysql等,研究生的大数据专业会更加深入一点,更多的是接触学习数据的采集与分析(Python、Scala),大数据的存储(hbase、hive、sqoop),学习处理软件,学习数学建模软件等等这方面的东西。
以武汉大学为例:
必修课主要包括:《大数据分析》、《多元统计分析与大数据建模》、《学科前沿进展》
选修课主要包括:《软件项目管理》、《信息安全技术》、《移动服务构架设计》等
学科通开课主要包括:《高级云计算技术》、《数据挖掘与数据仓库》、《高级算法设计与分析》
公共课主要包括:《高等工程数学》《自然辩证法概论》等
目前大数据专业是一个非常火的专业,就今年,国内已有30+所高校(清华、复旦、人大等)设立了此专业,如果想学的话,就趁现在开始打基础!
想要学习、梳理更多关于大数据领域的干货文章,可以看看这个号:计算机信息观察家,入门级小白必备!很多干货文章:大数据是如何存储和管理的?&最全、最好用的大数据工具都在这了!感兴趣的可以看看
以上是关于大数据专业主要学习啥语言?的主要内容,如果未能解决你的问题,请参考以下文章