开发者学堂课程【新电商大数据平台2020最新课程:电商项目之数仓的环境准备】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/640/detail/10493
电商项目之数仓的环境准备
内容介绍:
一、建模概念分析
二、建模环境准备
一、建模概念分析
根据实际生产情况,建议将数据仓库分为三层,自上而下为:
数据引入层(ODS, Operation Data Store)
数据公共层(CDM,Common Data Model)
数据应用层 (ADS, Application Data Service)
二、建模环境准备
上节我们说到有三方数据源,即外部数据、内部数据、业务数据。本次项目通过这三方数据,我们会介绍技术选型,将介绍七个点。
1、Hadoop-2.7.6
数仓的基本环境,在做数据仓库、数据存储的时候必然选择 Hadoop 作为 hdms。
2、Hive-2.1.1
数仓的根本。
3、Sqoop-1.4.7
用于数据导入导出的工具,数据从 hive 导入 mysqal 数据库 ,从 mysqal 数据库导入 hive 中。本次项目中的业务数据将存在 mysqal 数据库中。通过业务数据,使用 Sqoop 导入到 Hive 即可。
4、DataX-3.0
也可做导入数据,且与 Sqoop 比更为灵活。
5、Spark-2.2.3
可以通过 Spark circle 来操作hive,将 hapa 语句运行在 Spark 上面,使用 Spark 代码去操作数仓写 circle。
本次项目将给大家编写 Spark DSL 风格,用 DSL 风格来去处理数仓的 hbase 语句。与 Hive 相比,运行效率要高很多。因为 Spark 本质是基于内存计算。
6、Azkaban-3.5.6
用来做任务调度,本次任务调度的时候,我们都会用用 share 脚本的方式,将所有的 circle 或 Sqoop 脚本写的 circle脚本中,然后进行运行,通过 Azkaban 创建一个 Flume 任务去执行。
7、Flume-1.8
主要用于数据采集,本次项目中将会采集 log 数据和外部数据,它们都是日志文件。
采集出一个即可,另一个直接映射即可。Flume 做数据采集,会使用一个新增性,来去采集一个文件夹,采集的文件夹要求名字不能重复,采集出来的数据都是时间戳的数据,保证不会重复,使用 Flume 进行一个监控,监控本地磁盘文件夹,然后将数据采集到 hdms,映射成 hbase 表,下载到 ods 即可。
以上为我们这次项目所用到的技术点及其版本,与上次相比添加了 Spark。
我们将使用 Spark circle 里面 DSL 风格来操作 Hive 数仓,实现 Spark 任务的代码编写。