面试官:谈谈你对大数据平台架构的理解?

笼统的来说,大数据的架构一共有五层。

首先是数据源层

即最原始的数据层。数据在这一层里,还只是杂草地里的野菜。如果要问这片地的具体信息,目前来讲有三个地方:

  • 一个地方是企业内部自有数据,例如淘宝、京东等电商平台的用户信息、订单信息、商品信息等;
  • 另一个地方是第三方数据,即专门做数据买卖的公司。现在国家对数据和个人隐私的重视,导致这类数据交易的公司和平台逐渐息声;
  • 还有一个地儿是互联网数据。这片土地上的宝藏就太多太多了,什么天气数据、公司信息、航班信息等等,五花八门,让人眼花缭乱。

在数据源和数据存储之间还有一个过渡,我就把它放到数据源层来说了。

地里的野菜不是一下子就飞到菜市场任人挑选,同理,互联网上的数据也不是一下子就能为我们所用。单单互联网上公布的数据,如航班信息来说,我们需要编写爬虫解析网页规则,才能获取到数据,最后才是存储到大数据平台。在这家航空公司内部,一般是使用常规手段,如Sqoop数据传输,Flume日志采集等,从业务上将数据存储到大数据平台。两种角度都是一样的道理。

其次是数据存储层

抛开数据谈人工智能和机器学习都是耍流氓。得益于Hadoop的生态体系,我们不用担心企业内部PB、ZB级别的数据存储问题和使用这些数据时的效率与速度问题。Hadoop提供分布式文件系统(HDFS)和分布式列数据库(HBase),解决了海量数据的存储问题。这时候的数据就相当于农贸市场的蔬菜,多而繁,整装待发,准备奔赴下一层。

然后是数据计算层

从时效上来说,数据计算分为离线计算实时计算

  • 离线计算适用于实时性要求不高的场景,比如离线报表、数据分析等,延时一般在分钟级或小时级,常用Map Reduce、Spark SQL等。
  • 实时计算,通常也称为“实时流计算”、“流式计算”,表示那些实时或者低延时的流数据处理过程。通常应用在实时性要求高的场景,比如实时ETL、实时监控等,延时一般都在毫秒级甚至更低。常用Flink、Spark Streaming。

在这一层,数据就可以看作是从菜市场被厨师购买放置在酒店后厨分好类,就等顾客来点菜了。

最次是数据应用层

数据被获取、处理、存储好,计算组件也安排上了,才能算个完整的大数据平台,所以这一层和下一层都偏应用层,也是数据发挥作用的地方。以电商平台为例,常见的应用常见有:

  • 描述性数据分析:通过对海量的用户订单信息分析,总结地区用户消费能力、购买喜好,也可以针对单个用户的购物习惯,给用户“打标签”
  • 推荐算法实现:也可以叫预测性分析,通过大量数据拟合,分析预测出用户可能出现的消费行为,提高客单价。
  • 搜索引擎机器学习等等等等

最后是业务应用层

有了大数据支撑和数据应用层的决策支持,大数据公司的业务才能做到精准营销。基于数据应用层来说,电商平台分析出一名用户的个人信息、消费能力、文化程度并打上相应的标签,再分类打包用户信息,便可以实现精准广告营销;结合推荐算法,便能实现平台精准推荐。在这里,数据才算是桌上的菜肴,帮助我们成长。
总结来说,可以实现以下业务:

  • 用户分析
  • 热门商品分析
  • 微博热搜
  • 推荐系统
  • 猜你喜欢
  • 大家都在看

有没有感觉很熟悉?

面试官:抬走,下一位。

猜你喜欢

转载自blog.csdn.net/qq_44491709/article/details/107320490