第十二周 综合项目:电商数据仓库之用户行为数仓2
电商数仓技术选型
1 | 咱们前面对项目的需求进行了分析,整体上来说是需要三个大的功能模块,那下面我们就来分析一下,想要实现这些功能模块,具体使用哪些技术框架比较合适 |
数据采集
1 | 首先是数据采集: |
1 | 我们在采集数据的时候可以分为两种情况 |

1 | 第一种是把采集工具部署到产生数据的服务器上面 |
1 | 什么是MySQL的binlog呢? |
数据存储
1 | 数据采集过来以后,由于我们后面要构建数据仓库,数据仓库是使用Hive实现,Hive的数据是存储在HDFS中的,所以我们把采集到的数据也直接存储到HDFS里面 |
数据计算
1 | 在构建数据仓库的时候,我们前面说了,是使用Hive构建数据仓库,一般的数据处理通过SQL是可以搞定的,如果遇到了比较复杂的处理逻辑,可能还需要和外部的数据进行交互的,这个时候使用SQL就比较麻烦了,内置的函数有时候搞不定,还需要开发自定义函数 |
数据可视化
1 | 在数据可视化层面,我们可以使用Hue(无法出图表)数据查询 |
整体架构设计
1 | 技术选型搞定后,下面我们来看一下整体的架构设计 |

1 | 我们采集的数据主要分为服务端数据和客户端数据 |
服务器资源规划
1 | 整体架构分析好了,下面我们来分析一下,想要实现这个架构,服务器资源应该如何划分 |

1 | 针对生产环境,至少需要这些机器: |

1 | 说明 |
1 | 注意:没有必要一开始就上线全部的机器,我们可以前期上线30台,后面随着业务数据量的增长再去动态扩容机器即可。 |