大数据分析要学什么

很多初入大数据领域或者转行进入大数据领域的朋友,需要了解的第一件事不是说各种组件框架生态相关的东西,也不是各种编程语言基础 。
而是,了解清楚以下几个问题:
1)大数据领域到底包含了哪些东西,解决了哪些问题?
2)自己的实际基础是什么,如何结合自己的基础以及兴趣爱好,在整个大数据领域链路中,找到最好的切入点 。只有解决了上面两个问题,才能给自己最精确的定位,找准方向深入下去 。
第一个问题,大数据领域的范围 。
现在一说起大数据分析,简单起来就是一个词,但其实这个方向已经可以形成一个技术领域了,包含了方方面面的技术点,也提供了各种不同的技术岗位 。所以,不同的岗位,对应的需求,工作内容都是不同的 。
我们可以根据数据从下到上,从无到有,到产生价值整个数据业务流程来拆解,并且与此同时,来看看每个环节我们需要的技术储备以及能做的事有哪些 。大数据分析的几大基本业务流程:
收集 -> 传输 -> 转换/清洗 ->存储 -> 再加工 -> 挖掘/统计 -> 上层应用输出

大数据分析要学什么

文章插图
总的来说,可以分以下几个大块 。
第一环:数据的收集
在收集阶段,我们来看看数据主要有哪几种存在方式:
1)第三方开放数据集
【大数据分析要学什么】2)业务数据
3)服务日志
4)行为上报数据
大数据分析要学什么

文章插图
首先针对于第三方开放数据,目前爬取第三方开放数据的形式已经逐渐被认可,并且将会越来越多的人以及企业从互联网开放数据集中获取原始数据 。所以,针对于开放数据的获取,爬虫已经可以单独形成一个体系了,包括不同的爬虫框架,以及近年来对于分布式爬虫的技术需求等,在语言方面主要还是以及java为主,辅助其他相关脚本知识 。
如果数据是业务数据,那么通常在传统的路子中,业务数据一般存储在传统的数据库中,那么,对于传统数据库相关的技术知识不可避免的需要有所了解 。
我们需要对数据进行统一化处理,又不可避免的涉及到数据的迁移,即从传统数据存储介质中迁移到诸如生态中,那么涉及的迁移框架诸如sqoop之类的,又是不能不懂一些 。在语言以及基础要求上,对SQL相关的知识需要补充,以及linux操作,简单的需要掌握 。
最后,如果是数据上报的形式,你需要对整个数据上报的流程熟悉,怎么进行埋点、怎么收集上报的数据,上报过来怎么进行传输接受落地,这里就不多说,最终这种上报过来的数据反倒相对规整 。
第二环:数据的传输
数据的传输到底在什么时候会涉及到呢?诸如上面说到的数据上报,在大数据模式下,通常上报过来的数据我们都不会马上进行落地的,因为涉及到不同部分其效率不一样,在峰值波动的情况下,直接落地十有八九都会导致系统宕机 。
大数据分析要学什么

文章插图
所以,数据的传输在大数据领域中有着不可替代的左右,会出现在各种系统耦合之间,一方面用作数据的传输,另一方面用作数据的缓冲、系统解耦 。在生态中,最有名的莫过于kafka与flume的组合搭配了,收集数据,并进行数据传输,此外还有不少类似的消息队列存在,诸如、阿里的等等 。
第三环:数据的存储
生态中最最核心的存储组件莫过于HDFS了,这是支撑能够做大批量数据处理的基础支撑,便捷而强悍的横向扩展能力 。还有各种基于此之上不同形式的数据存储方式,诸如hive、HBase、甚至ES、Solr勉强都算,以及不可忽略的传统类型的SQL存储方式 。