大数据学习基础知识总纲
大数据是近五年兴起的行业,发展迅速,很多技术经过这些年的迭代也变得比较成熟了,同时新的东西也不断涌现,想要保持自己竞争力的唯一办法就是不断学习。
大数据需要学习什么?很多人问过我这个问题。总是没有一个合适的契机去好好总结这些内容,直到开始写这篇东西。大数据是近五年兴起的行业,发展迅速,很多技术经过这些年的迭代也变得比较成熟了,同时新的东西也不断涌现,想要保持自己竞争力的唯一办法就是不断学习。
大数据需要的语言 Java
java可以说是大数据最基础的编程语言,据我这些年的经验,我接触的很大一部分的大数据开发都是从Jave Web开发转岗过来的(当然也不是绝对我甚至见过产品转岗大数据开发的,逆了个天)。
一是因为大数据的本质无非就是海量数据的计算,查询与存储,后台开发很容易接触到大数据量存取的应用场景 二就是java语言本事了,天然的优势,因为大数据的组件很多都是用java开发的像HDFS,Yarn,Hbase,MR,Zookeeper等等,想要深入学习,填上生产环境中踩到的各种坑,必须得先学会java然后去啃源码。
说到啃源码顺便说一句,开始的时候肯定是会很难,需要对组件本身和开发语言都有比较深入的理解,熟能生巧慢慢来,等你过了这个阶段,习惯了看源码解决问题的时候你会发现源码真香。
Python和Shell
shell应该不用过多的介绍非常的常用,属于程序猿必备的通用技能。python更多的是用在数据挖掘领域以及写一些复杂的且shell难以实现的日常脚本。
分布式计算
什么是分布式计算?分布式计算研究的是如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多服务器进行处理,最后把这些计算结果综合起来得到最终的结果。
举个栗子,就像是组长把一个大项目拆分,让组员每个人开发一部分,最后将所有人代码merge,大项目完成。听起来好像很简单,但是真正参与过大项目开发的人一定知道中间涉及的内容可不少。
比如这个大项目如何拆分?任务如何分配?每个人手头已有工作怎么办?每个人能力不一样怎么办?每个人开发进度不一样怎么办?开发过程中组员生病要请长假他手头的工作怎么办?指挥督促大家干活的组长请假了怎么办?最后代码合并过程出现问题怎么办?项目延期怎么办?项目最后黄了怎么办?
仔细想想上面的夺命十连问,其实每一条都是对应了分布式计算可能会出现的问题,具体怎么对应大家思考吧我就不多说了,其实已经是非常明显了。也许有人觉得这些问题其实在多人开发的时候都不重要不需要特别去考虑怎么办,但是在分布式计算系统中不一样,每一个都是非常严重并且非常基础的问题,需要有很好的解决方案。
最后提一下,分布式计算目前流行的工具有:
离线工具Spark,MapReduce等 实时工具Spark Streaming,Storm,Flink等
分布式存储
传统的网络存储系统采用的是集中的存储服务器存放所有数据,单台存储服务器的io能力是有限的,这成为了系统性能的瓶颈,同时服务器的可靠性和安全性也不能满足需求,尤其是大规模的存储应用。
分布式存储系统,是将数据分散存储在多台独立的设备上。采用的是可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
上图是hdfs的存储架构图,hdfs作为分布式文件系统,兼备了可靠性和扩展性,数据存储3份在不同机器上(两份存在同一机架,一份存在其他机架)保证数据不丢失。由NameNode统一管理元数据,可以任意扩展集群。
主流的分布式数据库有很多hbase,mongoDB,GreenPlum,redis等等等等,没有孰好孰坏之分,只有合不合适,每个数据库的应用场景都不同,其实直接比较是没有意义的。如果你对大数据开发感兴趣,想系统学习大数据的话,可以加入大数据技术学习交流扣扣群:522+数字189+数字307,欢迎添加,私信管理员,获取学习资源,详细了解
最后:
大家都知道大数据的技术日新月异,作为一个程序猿想要保持竞争力就必须得不断地学习。
End.
大数据学习基础知识总纲相关推荐
- 大数据入门培训之大数据开发基础知识学习
在目前相信大多数IT开发人员对于人工智能+大数据并不陌生,使用的场景也越来越广,日常开发中前端同学也逐渐接触了更多与大数据相关的开发需求.因此对大数据知识也有必要进行一些学习理解,带大家来学习了解一下 ...
- 大数据学习基础分享总结
1.linux shell指令学习我是从私房菜开始看的,而且只看了shell指令相关的 互联网科技发展蓬勃兴起,人工智能时代来临,抓住下一个风口.为帮助那些往想互联网方向转行想学习,却因为时间不够,资 ...
- 欢迎来到大数据时代-----赶快来了解一些大数据的基础知识
作者刚开始接触大数据不久,现在想通过这篇文章分享一些我学到的,我自己理解的知识:希望大家学有所获. Hadoop离线是大数据生态圈的核心与基石,是整个大数据的入门. linux.hadoop.hive ...
- 大数据技术基础知识总结八
什么是云服务 云服务就是互联网提供的各种服务器,计算.存储.数据库,甚至是大数据.人工智能服务,并且这些服务是弹性可伸缩.按需支付的 云服务都能提供什么服务 SaaS:软件即服务 SaaS(Softw ...
- spark 广播变量大数据_Spark基础知识(三)--- Spark的广播变量和累加器
在spark程序中,当一个传递给Spark操作(例如map和reduce)的函数在远程节点上面运行时,Spark操作实际上操作的是这个函数所用变量的一个独立副本.这些变量会被复制到每台机器上,并且这些 ...
- 大数据课程00——[基础篇]大数据学习入门
文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 前置知识 一.编程语言 至少应该掌握一门编程语言,计算机专业的同学大多学的第一门编程语言是 C语言, ...
- 大数据学习的关键技术知识体系及学习建议
大数据技术涉及内容庞杂,应用领域广泛,各领域和方向采用的关键技术差异性也会较大.本文从数据科学和大数据关键技术体系角度,来说说大数据的核心技术什么. 1 大数据应用的目标是普适智能 要学好大数据,首先 ...
- 大数据怎么学习:大数据学习的关键技术知识体系、学习路径和误区
由于大数据技术涉及内容太庞杂,大数据应用领域广泛,而且各领域和方向采用的关键技术差异性也会较大,难以三言两语说清楚,本文从数据科学和大数据关键技术体系角度,来说说大数据的核心技术什么,到底要怎么学习它 ...
- 零基础转行大数据怎么学习?大数据学习路线
大数据要怎么学,本文来说说到底要怎么学习它,以及怎么避免大数据学习的误区,以供参考.数据科学特点与大数据学习误区 (1)大数据学习要业务驱动,不要技术驱动:数据科学的核心能力是解决问题. 大数据的核心 ...
- 完整的大数据知识体系,大数据学习路线图
任何学习过程都需要一个科学合理的学习路线,才能够有条不紊的完成我们的学习目标.大数据所需学习的内容纷繁复杂,难度较大,有一个合理的大数据学习路线图帮忙理清思路就显得尤为必要. 一.Java语言以jav ...
最新文章
- 机智云官网用到的库-grid.css我解析
- buuctf 基础破解
- 晟数学院 oracle,Oracle 控制文件存储解析
- SpringCloud Stream消息驱动
- mysql 数据库链路_MySQL数据库使用(二):配置、连接远端数据库
- 华为Mate 30 Pro最新渲染图曝光:六摄造型 越看越顺眼了?
- 51单片机冒泡排序_51单片机片外冒泡排序
- 【Python系列】之画BD-RATE及码率波动图示例
- 金蝶KIS专业版本单据导入导出工具使用说明
- Photoshop CS4 卡通角色的设计与绘制(2)
- Opencv之threshold
- nginx的DR模式
- 星座运势预测,python爬虫
- 斐波那契凤尾————斐波那契数列、打表
- N圆最密堆积、最小外接正方形的matlab求解(二维、三维等圆Packing 问题)
- 一级计算机基础及ms office应用练习,全国计算机等级考试一级计算机基础及MS Office应用模拟练习系统...
- 基于PyTorch实现PointNet++
- emlog媒体范美化版v6.3.1
- 百度地图API,自定义地图标注
- OpenET ——开放的可视化美国蒸散发平台
热门文章
- Effective Tips on How to Get Rid of Your Acne Scars Using Acne Scar Home Remedies
- 第6次课程作业—张欣
- JavaScript斐波那契数列兔子问题
- Convolution over Hierarchical Syntactic and Lexical Graphs for Aspect Level Sentiment Analysis论文阅读
- nginx学习,看这一篇就够了:使用:正向代理、反向代理、负载均衡, 常用命令和配置文件
- esp8266_deauther将html压缩成字节码
- 【Cf #502 H】The Films(莫队)
- 如何解密Token?
- 【论文笔记】PlenOctrees for Real-time Rendering of Neural Radiance Fields
- differentiable rendering可微分渲染