对公司初期来说,由于数据量不够,一个mysql就解决了所有数据的问题。也就谈不到大数据了。当进入高速发展期,数据量规模逐渐变大,数据的重要性也慢慢凸显出来,最明显的就是运营类的数据,可以指导公司的战略和产品的研发方向。接下来我们就谈谈,怎么从0开始,去搭建一个大数据平台。
如上图所示,展示了一个成熟的大数据平台架构。当然这个也不是一两个人所能做到的。对于大部分初创公司来说,最主要的就是先理解了大数据的概念,然后搭建一个核心的功能,之后按照需求逐步完善。当你有了系统主体以后,你的系统首先是一个可运行的系统,这个系统已经可以简单地被用户开始使用了,比如跑跑简单的数据分析等等。我非常推崇一句话就是“好的架构不是设计出来的而是演化出来的”。
1:数据的来源 1)非格式化数据:用户的访问日志 2)格式化数据:用户的订单数据等等
2:数据的存储 创建数据仓库,只用做查询用途。
传统企业的数据仓库一般用oracle,mysql实现。互联网的到来,数据量突飞猛进,数据已经无法满足需求,HDFS,HBase,Hive的出现,很好的解决了这个问题。
3:数据的计算
对于存储在数据仓库的数据,再进行各种数据的计算。
HDFS的数据,可以通过MapReduce进行计算。这个不适用于实时性高的场合。
对于实时性要求高的情况下,可以采用spark组件进行数据计算。
Hive支持sql语句,其实现的方式也是通过MapReduce任务进行计算的。
上述几种方式也可以组合使用。通常情况下,数据平台会有很多数据的计算任务,不同的任务的资源调度通过yarn来实现。
最后我们实现一个搜狗日志分析的简单例子(单机版,不涉及集群):
联系客服