基于Apache的电商数据仓库(一)
欢迎
你好!这是我历经1个半月的学习(Apache和CDH),做完的一个项目,本次和你们分享一下Apache版。
感谢您的阅读!
第1章~第4章在基于Apache的电商数据仓库(一)
第5章~第5章在基于Apache的电商数据仓库(二)
第6章~第8章在基于Apache的电商数据仓库(三)
第8章~第9章在基于Apache的电商数据仓库(四)
第10章~第12章在基于Apache的电商数据仓库(五)
第13章~第13章在基于Apache的电商数据仓库(六)
第14章~第14章在基于Apache的电商数据仓库(七)
第1章 概念
数据仓库(Data Warehouse)是为企业所有决策制定过程,提供所有系统数据支持的战略的集合。
- 数据仓库简称数仓;
- 通过数仓中的数据分析,可以帮助公司改进业务的流程,提高产品质量等重要决策;
- 对数仓中的数据可以进行:清洗,分类,重组,合并拆分,统计等很多计算方式;
- 一些通过日志采集,业务数据库,爬虫,数据挖掘等数据通过ETL,保存进数据仓库中。
第2章 项目需求
项目所需
- 数据的采集;
- 用户行为数的分层搭建;
- 业务数仓的分层搭建;
- 对数仓中的数据进行报表分析
第3章 架构设计
3.1所需技术
数据采集
flume, kafka,sqoop
数据存储
mysql,hdfs
数据计算
hive,tez,druid
3.2流程设计
3.3服务器规划
第4章 数据生成
4.1数据格式举例
- 4.1.1 事件data
{
"ap":"xxxxx",
"cm": {
//公共字段
"mid": "", // 设备标识
"uid": "", // 用户标识
"vc": "1",
"vn": "1.0",
"l": "zh", //language
"sr": "",
"os": "7.1.1",
"ar": "CN",
"md": "BBB100-1", // 型号
"ba": "blackberry",
"sv": "V2.2.1",
"g": "",
"hw": "1620x1080",
"t": "1506047606608",
"nw": "WIFI",
"ln": 0,
"la": 0
},
"et": [ //事件
{
"ett": "1506047605364", //时间戳
"en": "display", //名称
"kv": {
"goodsid": "236",
"action": "1",
"extend1": "1",
"place": "2",
"category": "75"
}
}
]
}
- 4.1.2 日志data
1540934156385|{
"ap": "gmall",
"cm": {
"uid": "1234",
"vc": "2",
"vn": "1.0",
"la": "EN",
"sr": "",
"os": "7.1.1",
"ar": "CN",
"md": "BBB100-1",
"ba": "blackberry",
"sv": "V2.2.1",
"g": "[email protected]",
"hw": "1620x1080",
"t": "1506047606608",
"nw": "WIFI",
"ln": 0
},
"et": [
{
"ett": "1506047605364", //时间戳
"en": "display", //事件名称
"kv": {
"goodsid": "236",
"action": "1",
"extend1": "1",
"place": "2",
"category": "75"
}
},{
"ett": "1552352626835",
"en": "active_background",
"kv": {
"active_source": "1"
}
}
]
}
}
4.2造数据
- 创建maven工程log-collector*
- 创建一个包名
- 包下创建一个类
- 导入依赖
- 创建Java公共字段Bean
- 创建Java事件日志字段Bean
- 创建驱动
- 日志打印logback
- 打包