实时数仓-数据采集层_1

  • 一、实时数仓介绍
    • 1、普通实时计算与实时数仓比较
    • 2、实时电商数仓项目分层
  • 二、实时需求概述
    • 1、离线计算与实时计算的比较
    • 2、实时需求种类
      • 2.1、日常统计报表或分析图中需要包含当日部分
      • 2.2、实时数据大屏监控
      • 2.3、数据预警或提示
      • 2.4、实时推荐系统
  • 三、统计架构分析
    • 1、离线架构
    • 2、实时架构
  • 四、日志数据采集
    • 1、模拟日志生成器的使用
    • 2、日志采集模块-本地测试
      • 2.1、Sprintboot作用
      • 2.2、快速搭建SpringBoot程序gmall2021-logger,采集模拟生成的日志数据

一、实时数仓介绍

1、普通实时计算与实时数仓比较

普通的实时计算优先考虑时效性,所以从数据源采集经过实时计算直接得到结果。如此做时效性更好,但是弊端是由于计算过程中的中间结果没有沉淀下来,所以当面对大量实时需求的时候,计算的复用性较差,开发成本随着需求增加直线上升。

实时数仓基于一定的数据仓库理念,对数据处理流程进行规划、分层,目的是提高数据的复用性。

2、实时电商数仓项目分层

  •  ODS
    原始数据,日志和业务数据

  •  DWD
    根据数据对象为单位进行分流,比如订单、页面访问等等

  •  DIM
    维度数据

  •  DWM
    对于部分数据对象进行进一步加工,比如独立访问、跳出行为,也可以和维度进行关联,形成宽表,依旧是明细数据。

  •  DWS
    根据某个主题将多个事实数据轻度聚合,形成主题宽表。

  •  ADS
    把Clickhouse中的数据根据可视化需要进行筛选聚合

二、实时需求概述

1、离线计算与实时计算的比较

离线计算:就是在计算开始前已知所有输入数据,输入数据不会产生变化,一般计算量级较大,计算时间也较长。例如今天早上一点,把昨天累积的日志,计算出所需结果。最经典的就是Hadoop的MapReduce方式;
一般是根据前一日的数据生成报表,虽然统计指标、报表繁多,但是对时效性不敏感。从技术操作的角度,这部分属于批处理的操作。即根据确定范围的数据一次性计算。

实时计算:输入数据是可以以序列化的方式一个个输入并进行处理的,也就是说在开始的时候并不需要知道所有的输入数据。与离线计算相比,运行时间短,计算量级相对较小。强调计算过程的时间要短,即所查当下给出结果。
主要侧重于对当日数据的实时监控,通常业务逻辑相对离线需求简单一下,统计指标也少一些,但是更注重数据的时效性,以及用户的交互性。从技术操作的角度,这部分属于流处理的操作。根据数据源源不断地到达进行实时的运算。

2、实时需求种类

2.1、日常统计报表或分析图中需要包含当日部分

对于日常企业、网站的运营管理如果仅仅依靠离线计算,数据的时效性往往无法满足。通过实时计算获得当日、分钟级、秒级甚至亚秒的数据更加便于企业对业务进行快速反应与调整。
所以实时计算结果往往要与离线数据进行合并或者对比展示在BI或者统计平台中

2.2、实时数据大屏监控


数据大屏,相对于BI工具或者数据分析平台是更加直观的数据可视化方式。尤其是一些大促活动,已经成为必备的一种营销手段。
另外还有一些特殊行业,比如交通、电信的行业,那么大屏监控几乎是必备的监控手段。

2.3、数据预警或提示

经过大数据实时计算得到的一些风控预警、营销信息提示,能够快速让风控或营销部分得到信息,以便采取各种应对。
比如,用户在电商、金融平台中正在进行一些非法或欺诈类操作,那么大数据实时计算可以快速的将情况筛选出来发送风控部门进行处理,甚至自动屏蔽。 或者检测到用户的行为对于某些商品具有较强的购买意愿,那么可以把这些“商机”推送给客服部门,让客服进行主动的跟进。

2.4、实时推荐系统

实时推荐就是根据用户的自身属性结合当前的访问行为,经过实时的推荐算法计算,从而将用户可能喜欢的商品、新闻、视频等推送给用户。
这种系统一般是由一个用户画像批处理加一个用户行为分析的流处理组合而成。

三、统计架构分析

1、离线架构

2、实时架构

四、日志数据采集

1、模拟日志生成器的使用

  • (1) 拷贝/资料/数据生成脚本/行为数据的内容到hadoop102的/opt/module/rt_applog目录

  • (2) 根据实际需要修改application.yml

  • (3) 使用模拟日志生成器的jar 运行
    java -jar gmall2020-mock-log-2020-12-18.jar

  • (4) 目前我们还没有地址接收日志,所以程序运行后的结果有如下错误

注意:ZooKeeper从3.5开始,AdminServer的端口也是8080,如果在本机启动了zk,那么可能看到405错误,意思是找到请求地址了,但是接收的方式不对

2、日志采集模块-本地测试

2.1、Sprintboot作用

pring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是用来简化新 Spring 应用的初始搭建以及开发过程。 该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置

  •  内嵌Tomcat,不再需要外部的Tomcat
  •  更方便的和各个第三方工具(mysql,redis,elasticsearch,dubbo,kafka等等整合),而只要维护一个配置文件即可。
  • springboot整合了springmvc,spring等核心功能。也就是说本质上实现功能的还是原有的spring ,springmvc的包,但是springboot单独包装了一层,这样用户就不必直接对springmvc,spring等,在xml中配置。

springboot实际上就是把以前需要用户手工配置的部分,全部作为默认项。除非用户需要额外更改不然不用配置。这就是所谓的:“约定大于配置”
如果需要特别配置的时候,去修改application.properties (application.yml)

2.2、快速搭建SpringBoot程序gmall2021-logger,采集模拟生成的日志数据

    1. 在IDEA中安装lombok插件

实时数仓-数据采集层_1相关推荐

  1. Flink SQL搭建实时数仓DWD层

    1.实时数仓DWD层 DWD是明细数据层,该层的表结构和粒度与原始表保持一致,不过需要对ODS层数据进行清洗.维度退化.脱敏等,最终得到的数据是干净的,完整的.一致的数据. (1)对用户行为数据解析. ...

  2. Flink实时数仓数据采集流程和技术架构

    一.系统架构 前端埋点可以获取更多的信息,不仅可以获取用户点击浏览行为数据,还能获得用户定位位置信息等,滑动转跳 一.日志数据采集 SpringBoot --> Nginx-->(flum ...

  3. 大数据项目之Flink实时数仓(数据采集/ODS层)

    项目概览 实时大屏效果

  4. 首汽约车驶向极速统一之路!出行平台如何基于StarRocks构建实时数仓?

    作者:王满,高级数据架构工程师 首汽约车(以下简称 "首约")是首汽集团为响应交通运输部号召,积极拥抱互联网,推动传统出租车行业转型升级,加强建设交通强国而打造的网约车出行平台. ...

  5. 数据仓库—stg层_数据仓库之Hive快速入门 - 离线实时数仓架构

    数据仓库VS数据库 数据仓库的定义: 数据仓库是将多个数据源的数据经过ETL(Extract(抽取).Transform(转换).Load(加载))理之后,按照一定的主题集成起来提供决策支持和联机分析 ...

  6. 【实时数仓】DWD层需求分析及实现思路、idea环境搭建、实现DWD层处理用户行为日志的功能

    文章目录 一 DWD层需求分析及实现思路 1 分层需求分析 2 每层的职能 3 DWD层职能详细介绍 (1)用户行为日志数据 (2)业务数据 4 DWD层数据准备实现思路 二 环境搭建 1 创建mav ...

  7. 阿里巴巴电商搜索推荐实时数仓演进之路

    分享嘉宾:张照亮 阿里巴巴 高级技术专家 编辑整理:郑银秋 出品平台:DataFunTalk 导读:今天分享的内容是阿里搜索推荐数据平台研发团队在实时数仓的一些探索,围绕着团队在数仓上基于Flink ...

  8. 菜鸟实时数仓技术架构演进

    分享嘉宾:贾元乔 菜鸟 高级数据技术专家 内容来源:Flink Forward ASIA 出品平台:DataFunTalk 导读:在开源盛世的今天,实时数仓的建设已经有了较为成熟的方案,技术选型上也都 ...

  9. 基于 Flink 的严选实时数仓实践

    https://www.infoq.cn/article/Lrg1J4*tWOak2WLqKyhF 今天分享的内容主要分为四个部分,首先会介绍下严选实时数仓的背景.产生的一些问题.然后是针对这些背景和 ...

  10. 用 Flink 取代 Spark Streaming,知乎实时数仓架构演进【推荐】

    "数据智能" (Data Intelligence) 有一个必须且基础的环节,就是数据仓库的建设,同时,数据仓库也是公司数据发展到一定规模后必然会提供的一种基础服务.从智能商业的角 ...

最新文章

  1. java中rs怎么用_java-如何使用JAX-RS设置字符集?
  2. Joomla!网站扫描工具joomscan
  3. python课程费用-深圳python课程费用
  4. 程序员也要多读些专业之外的书
  5. Oracle 学习笔记 11 -- 视图 (VIEW)
  6. 文件分类tkinter UI小程序,界面点击,后台自动归档到某个文件夹
  7. java 文件保存目录结构_java web 实现文件夹上传(保留目录结构)
  8. mysql 5.7.25 的安装与 安装错误修改 适用于5.7解压版
  9. 恕我直言,很多小样本学习的工作就是不切实际的
  10. 初探Oracle--Oracle查询操作
  11. 早上起床后喝一杯白开水是非常有好处的
  12. CHM文件出现的常见错误及解决办法
  13. PL/SQL TOAD 不安装Oracle客户端连接数据库的方法
  14. Luogu2543[AHOI2004]奇怪的字符串 (动态规划 LCS)
  15. 爬虫协程比线程爬取速度更快?
  16. 图像检索简介--笔记
  17. opencv 实现等值线_绘制等值线
  18. 极米Z7X对比当贝D5X区别 哪个值得买
  19. 安卓开发:WebView无法播放微信视频
  20. http基本请求头详解

热门文章

  1. 网络化智能型维修电工电气控制技能实训智能考核装置
  2. 智能车制作——从元器件、机电系统、控制算法到完整的智能车设计|文末赠书
  3. CSS 中文字体格式
  4. steam密码查看_如何查看和清除Steam中的先前别名
  5. rss阅读器Reeder 5 for Mac
  6. 什么是弱网测试?为什么要进行弱网测试?怎么进行弱网测试?
  7. [笔记]WBS方法论
  8. ubuntu16.04 更新pip
  9. 总结----20个最常见的算法面试问题
  10. 【裴礼文数学分析】例1.1.4