每次都有学员问加米谷大数据请添加链接描述有没有简单的速成方法学习,我想了一下要是真的有所谓速成方法那大数据这门学科的技术也就没什么门槛什么人都能学,那对于想拿高工资的你来说还有什么意义,如果你是小白还是老老实实的看完下面的内容。
下面的是我整理的一张思维导图,内容分成几大块,包括了分布式计算与查询,分布式调度与管理,持久化存储,大数据常用的编程语言等等内容,每个大类下有很多的开源工具,这些就是作为大数据程序猿又爱又恨折腾得死去活来的东西了。
大数据需要的语言
Java
Scala
Python和Shell
分布式计算
什么是分布式计算?分布式计算研究的是如何把一个需要非常巨大的计算能力才能解决的问题分成许多小的部分,然后把这些部分分配给许多服务器进行处理,最后把这些计算结果综合起来得到最终的结果。
分布式存储
传统的网络存储系统采用的是集中的存储服务器存放所有数据,单台存储服务器的io能力是有限的,这成为了系统性能的瓶颈,同时服务器的可靠性和安全性也不能满足需求,尤其是大规模的存储应用。
分布式存储系统,是将数据分散存储在多台独立的设备上。采用的是可扩展的系统结构,利用多台存储服务器分担存储负荷,利用位置服务器定位存储信息,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
分布式调度与管理
现在人们好像都很热衷于谈"去中心化",也许是区块链带起的这个潮流。但是"中心化"在大数据领域还是很重要的,至少目前来说是的。
分布式的集群管理需要有个组件去分配调度资源给各个节点,这个东西叫yarn;
需要有个组件来解决在分布式环境下"锁"的问题,这个东西叫zookeeper;
需要有个组件来记录任务的依赖关系并定时调度任务,这个东西叫azkaban。
当然这些“东西”并不是唯一的,其实都是有很多替代品的,我这里只举了几个比较常用的例子
大家都知道大数据的技术日新月异,作为一个程序猿想要保持竞争力就必须得不断地学习,速成的捷径是没有的,只有一步一步把所学的知识学牢固才是最优解
转载于:https://blog.51cto.com/14284582/2387264