项目介绍
音乐数据中心数仓综合项目主要是针对公司过去收集到的用户点播、购买音乐等数据(包括业务数据与用户行为数据),为公司业务更健康的发展提供决策服务支持(BI商业决策)。
数据中心项目中包含业务系统数据和用户行为日志数据。
业务数据即业务系统产生的业务数据,例如:系统中产生的订单、登录、点歌、广告展示等数据。
用户行为数据例如:用户在实体机器上操作的行为都是用户行为数据,点击、收藏、扫码等事件。
公司针对以上数据进行分析的结果主要有两个应用:
一是针对BI系统,商业智能中主要展示更多的报表给公司的运营人员参照。例如:每日歌曲点唱量,每日营收,机器分布,实时pv,uv,用户留存率、漏斗模型等。
另一个应用是数据服务,数据服务主要是针对分析后结果数据以接口的形式提供给业务系统来访问,例如:推荐系统,根据歌曲来推荐歌曲,根据歌手来推荐歌曲或者根据用户来推荐歌曲。
项目架构
数据中心项目是Spark综合的数仓项目。分为离线处理和实时处理,其中用到的技术有MySQL、Sqoop、HDFS、Yarn、Hive、数据仓库模型设计、SparkCore、SparkSQL、SparkStreaming、Azkaban、Flume、Kafka、Redis、superSet、Redis、微信指数、高德API等。
离线处理:以Spark为主,其中很少使用了SparkCore的代码,主要使用SparkSQL构建数据仓库。项目使用airflow/Azkaban进行调度,可以每日进行调度,也可以每月进行调度,每天定时触发调度。
实时处理:使用SparkStreaming实现实时处理。离线N+1的方式不能得到实时数据,运营活动中心有时需要实时的用户上线数据,针对客户端进行数据埋点,用户在客户端所有的行为都是事件,对事件进行埋点