基于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)是为企业所有决策制定过程,提供所有系统数据支持的战略的集合。

  1. 数据仓库简称数仓;
  2. 通过数仓中的数据分析,可以帮助公司改进业务的流程,提高产品质量等重要决策;
  3. 对数仓中的数据可以进行:清洗,分类,重组,合并拆分,统计等很多计算方式;
  4. 一些通过日志采集,业务数据库,爬虫,数据挖掘等数据通过ETL,保存进数据仓库中。

第2章 项目需求

项目所需

  1. 数据的采集;
  2. 用户行为数的分层搭建;
  3. 业务数仓的分层搭建;
  4. 对数仓中的数据进行报表分析

第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造数据

  1. 创建maven工程log-collector*
  2. 创建一个包名
  3. 包下创建一个类
  4. 导入依赖
  5. 创建Java公共字段Bean
  6. 创建Java事件日志字段Bean
  7. 创建驱动
  8. 日志打印logback
  9. 打包

第5章 数据采集

请移步至基于Apache的电商数据仓库(二)

猜你喜欢

转载自blog.csdn.net/qq_43494678/article/details/114990183