学习大数据要掌握哪些语言?需要学习哪些内容?

大数据是近五年兴起的行业,发展迅速,很多技术经过这些年的迭代也变得比较成熟了,同时新的东西也不断涌现,想要保持自己竞争力的唯一办法就是不断学习。但是,大数据需要学习什么?
01 思维导图
下面的是我之前整理的一张思维导图,内容分成几大块,包括了分布式计算与查询,分布式调度与管理,持久化存储,大数据常用的编程语言等等内容,每个大类下有很多的开源工具。
创一个小群,供大家学习交流聊天
如果有对学大数据方面有什么疑惑问题的,或者有什么想说的想聊的大家可以一起交流学习一起进步呀。
也希望大家对学大数据能够持之以恒
大数据爱好群,
如果你想要学好大数据最好加入一个组织,这样大家学习的话就比较方便,还能够共同交流和分享资料,给你推荐一个学习的组织:快乐学习大数据组织 可以点击组织二字,可以直达请添加链接描述

02 大数据需要的语言Java
java可以说是大数据最基础的编程语言,据我这些年的经验,我接触的很大一部分的大数据开发都是从Jave Web开发转岗过来的(当然也不是绝对我甚至见过产品转岗大数据开发的,逆了个天)。
一是因为大数据的本质无非就是海量数据的计算,查询与存储,后台开发很容易接触到大数据量存取的应用场景
二就是java语言本事了,天然的优势,因为大数据的组件很多都是用java开发的像HDFS,Yarn,Hbase,MR,Zookeeper等等,想要深入学习,填上生产环境中踩到的各种坑,必须得先学会java然后去啃源码。
说到啃源码顺便说一句,开始的时候肯定是会很难,需要对组件本身和开发语言都有比较深入的理解,熟能生巧慢慢来,等你过了这个阶段,习惯了看源码解决问题的时候你会发现源码真香。
Scala
scala和java很相似都是在jvm运行的语言,在开发过程中是可以无缝互相调用的。Scala在大数据领域的影响力大部分都是来自社区中的明星Spark和kafka,这两个东西大家应该都知道(后面我会有文章多维度介绍它们),它们的强势发展直接带动了Scala在这个领域的流行。
Python和Shell
shell应该不用过多的介绍非常的常用,属于程序猿必备的通用技能。python更多的是用在数据挖掘领域以及写一些复杂的且shell难以实现的日常脚本。
03 分布式计算
什么是分布式计算?分布式计算研究的是如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多服务器进行处理,最后把这些计算结果综合起来得到最终的结果。
举个栗子,就像是组长把一个大项目拆分,让组员每个人开发一部分,最后将所有人代码merge,大项目完成。听起来好像很简单,但是真正参与过大项目开发的人一定知道中间涉及的内容可不少。
分布式计算目前流行的工具有:

离线工具Spark,MapReduce等
实时工具Spark Streaming,Storm,Flink等
这几个东西的区别和各自的应用场景我们之后再聊。
04 分布式存储
传统的网络存储系统采用的是集中的存储服务器存放所有数据,单台存储服务器的io能力是有限的,这成为了系统性能的瓶颈,同时服务器的可靠性和安全性也不能满足需求,尤其是大规模的存储应用。
分布式存储系统,是将数据分散存储在多台独立的设备上。采用的是可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。

上图是hdfs的存储架构图,hdfs作为分布式文件系统,兼备了可靠性和扩展性,数据存储3份在不同机器上(两份存在同一机架,一份存在其他机架)保证数据不丢失。由NameNode统一管理元数据,可以任意扩展集群。
主流的分布式数据库有很多hbase,mongoDB,GreenPlum,redis等等等等,没有孰好孰坏之分,只有合不合适,每个数据库的应用场景都不同,其实直接比较是没有意义的,后续我也会有文章一个个讲解它们的应用场景原理架构等。
05 分布式调度与管理
现在人们好像都很热衷于谈"去中心化",也许是区块链带起的这个潮流。但是"中心化"在大数据领域还是很重要的,至少目前来说是的。
分布式的集群管理需要有个组件去分配调度资源给各个节点,这个东西叫yarn;
需要有个组件来解决在分布式环境下"锁"的问题,这个东西叫zookeeper;
需要有个组件来记录任务的依赖关系并定时调度任务,这个东西叫azkaban。
当然这些“东西”并不是唯一的,其实都是有很多替代品的,本文只举了几个比较常用的例子。

原文地址:http://blog.51cto.com/14168607/2341973

时间: 2024-10-10 00:47:17

学习大数据要掌握哪些语言?需要学习哪些内容?的相关文章

没有基础可以学习大数据吗?0基础怎么学习大数据?给初学者支几招

小白如何学习大数据技术?大数据怎么入门?怎么做大数据分析?数据科学需要学习那些技术?大数据的应用前景等等问题,已成为热门大数据领域热门问题,以下是对新手如何学习大数据技术问题的解答~ 大数据开发学习可以按照以下内容进行学习 第一阶段:JavaSE+MySql+Linux 学习内容:Java 语言入门 → OOP 编程 → Java 常用Api.集合 → IO/NIO → Java 实 用技术 → Mysql 数据库 → 阶段项目实战 → Linux 基础 → shell 编程 学习目标:学习ja

0基础学习大数据你需要了解的学习路线和方向

现在大数据这么火,各行各业想转行大数据,那么问题来了,该往哪方面发展,哪方面最适合自己? 首先从字面来了解一下大数据 大数据 (巨量数据集合(IT行业术语)) 大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉.管理和处理的数据集合,是需要新处理模式才能具有更强的决策力.洞察发现力和流程优化能力的海量.高增长率和多样化的信息资产. 大数据的5V特点(IBM提出):Volume(大量).Velocity(高速).Variety(多样).Value(低价值密度).Veracit

学习大数据为什么先学Java?

学习大数据是否必须会java? 很多零基础学员想学大数据都知道,学大数据部分课程之前要先学习一种计算机编程语言.大数据开发需要编程语言的基础,因为大数据的开发基于一些常用的高级语言,比如Java和.Net.不论是hadoop,还是数据挖掘,都需要有高级编程语言的基础. 因此,如果想学习大数据开发,还是需要至少精通一门高级语言. 常用计算机编程语言 计算机编程语言有很多,目前用的多一点的就是Java,c++,R,python等等.目前大多数学习大数据的人都是选择学习Java,很多培训机构针对零基础

零基础学习大数据Hadoop需要什么准备?Hadoop如何发展起来的?

Hadoop是一个由Apache基金会所开发的分布式系统基础架构,是用Java语言开发的一个开源分布式计算平台,适合大数据的分布式存储和计算平台.今天加米谷大数据就来简单介绍一下Hadoop的简史,以及学习Hadoop前要做哪些准备.狭义上,Hadoop就是单独指代Hadoop这个软件: 广义上,Hadoop指代大数据的一个生态圈,包括很多其他的软件. Hadoop的起源 1.2001年,Nutch问世.Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取.索引.查询等功能,但随着抓取

干货 | 学习大数据为什么要先学Java?

计算机编程语言有很多,目前用的多一点的就是Java,C++,Python等等. 目前大多数学习大数据的人都是选择学习Java,那Java到底好在哪呢?为什么学大数据之前要先学Java呢?我们今天就来分析一下. 不少想学习大数据的零基础学员都知道,学大数据部分课程之前要先学习一种计算机编程语言.大数据开发需要编程语言的基础,因为大数据的开发基于一些常用的高级语言,比如Java和.Net. 不论是hadoop,还是数据挖掘,都需要有高级编程语言的基础.因此,如果想学习大数据开发,还是需要至少精通一门

学习大数据需要掌握的知识,需要学习的数据技术

大数据的发展历程总体上可以划分为三个重要阶段,萌芽期.成熟期和大规模应用期,20世纪90年至21世纪初,为萌芽期,随着,一批商业智能工具和知识管理技术的开始和应用,度过了数据萌芽,21世纪前十年则为成熟期,主要标志为,大数据解决方案逐渐走向成熟,形成了并行计算与分布式系统两大核心技,谷歌的GFS和MapReduce等大数据技术受到追捧,Hadoop平台开始大行期道,2010年以后,为大规模应用期,标志为,数据应用***各行各业,数据驱动决策,信息社会智能化程度快速提高. 数据时代的到来,也推动了

2019年,该怎样去系统学习大数据,知识+内容+教程

大数据作为2019年比较热门的技术,受到越来越多的关注,那么对于一个想进入大数据的朋友来说,最想知道的是:大数据学什么?今天科多大数据就和你们一起来分享一篇关于大数据学习内容体系介绍的文章. 大数据技术体系太庞杂了,基础技术覆盖数据采集.数据预处理.分布式存储.NOSQL数据库.多模式计算(批处理.在线处理.实时流处理.内存处理).多模态计算(图像.文本.视频.音频).数据仓库.数据挖掘.机器学习.人工智能.深度学习.并行计算.可视化等各种技术范畴和不同的层面.另外大数据应用领域广泛,各领域采用

小白怎么学习大数据

大数据时代,你在干什么?大家都知道数据本身并没有什么价值,由于分析方法的存在,使得海量的数据变得如同一座永远开采不完的矿,是金矿还是银矿,得看你怎么分析和怎么利用了,和小编一起来了解一下怎么学习大数据吧. 要有一颗敢于不断学习的心 推荐一个大数据学习群 119599574晚上20:10都有一节[免费的]大数据直播课程,专注大数据分析方法,大数据编程,大数据仓库,大数据案例,人工智能,数据挖掘都是纯干货分享, 方法/步骤 [了解自身学习大数据的目的]每个人都有自己的想法,学习大数据的目的是什么,是

大数据学习|小白学习大数据需要满足这六个条件你就能学好大数据

有很多学习大数据的朋友,在初期学习时,通常会对如何学习而感到迷茫.我经常收到零基础的朋友关于如何入门.如何规划学习大数据.大数据的学习流程是什么的一些问题.今天我就粗浅的总结几点学习大数据方法. 大数据学习资料分享群119599574一.兴趣建立 兴趣是可以让一个人持续关注一个事物的核心动力,那么兴趣的培养就非常重要了.如果你把写程序单纯作为赚钱手段,久而久之疲劳感会越来越强,会给今后的工作和生活带来很大的压力. 那么如何建立起对大数据的兴趣呢? 相信大家都有自己的兴趣爱好,而大数据的应用恰恰非