【离线数仓-1-数仓前期建设准备工作】

news2024/11/16 3:28:54

离线数仓-1-数仓前期建设准备工作

  • 离线数仓-1-数仓前期建设准备工作
    • 1.数仓概念
      • 1. 数据仓库概念
      • 2. 数据分类
      • 3.数据仓库总视图
      • 4.数据仓库项目需求分析
      • 5.数仓搭建技术基础分析
        • 1.项目技术如何选型:
        • 2.框架版本如何选型;
        • 3.服务器使用物理机还是云主机;
        • 5.集群资源规划设计
          • 1.生产集群
          • 2.测试集群
      • 6.系统数据流程图

离线数仓-1-数仓前期建设准备工作

1.数仓概念

1. 数据仓库概念

数据仓库( Data Warehouse ),是为企业制定决策,提供数据支持的。可以帮助企业,改进业务流程、提高产品质量等。

2. 数据分类

  • 业务数据:存放在关系型数据库
  • 用户行为数据:前端埋点数据,一般存放在日志文件中
  • 爬虫数据:爬取别人家的数据

在这里插入图片描述

3.数据仓库总视图

在这里插入图片描述

  • 数仓各层作用的剖析:
    • ODS层进行数据的备份作用,原始数据采集上来是什么样,最终落地ODS层依然是什么样。
    • DWD层进行数据清洗工作,清洗的数据有:1.类型不匹配的数据;2.补充数据字段,数据碰撞能否对接成功;3.对敏感数据进行脱敏
    • DWS层进行指标统计工作:指标统计工作的处理,指标统计过程中的优化工作(预聚合功能:两大表进行join操作,提前join后,查询数据基于这个提前join完毕的中间表进行查询,提高查询效率,仅需要join一次,即可满足多个指标的查询)。
    • ADS层进行统计最终的指标。

4.数据仓库项目需求分析

  • 采集平台
    • 用户行为数据采集平台搭建
    • 业务数据采集平台搭建
  • 离线需求处理
  • 实时需求处理

5.数仓搭建技术基础分析

数仓搭建技术基础分析相关思考:

1.项目技术如何选型:

  • 项目技术选型主要考虑因素:数据量大小、业务需求、行业内经验、技术成熟度、开发维护成本、总成本预算等维度考虑,相关层面技术选型如下,仅针对本项目,其他项目自行选择
功能实时+离线仅离线仅实时不采用
数据采集传输Flume,Kafka,MaxwellDataXSqoop,Logstash
数据存储MysqlHDFSHBase,RedisMongoDB(机器学习中使用)
数据计算Hive,SparkFlinkStorm,Tez
数据查询PrestoClickHouseKylin,Impala,Druid,Doris
数据可视化SupersetSugarEcharts,QuickBI,DataV
任务调度DolphinSchedulerAzkaban,Ozzie,Airflow
集群监控ZabbixPrometheus
元数据管理Atlas
权限管理Ranger,Sentry

2.框架版本如何选型;

  • 1.框架发型版本选择
    • 1.如何选择Apache/CDH/HDP版本 在这里插入图片描述
    • 2.云服务选择
      • 阿里云的EMR、MaxCompute、DataWorks
      • 亚马逊云EMR
      • 腾讯云EMR/华为云EMR
  • 2.Apache框架版本选择:框架选型尽量不要选择最新的框架,选择最新框架半年前左右的稳定版本。具体版本如下:
技术组件旧版本新版本
Hadoop2.7.23.1.3
Zookeeper3.4.103.5.7
Mysql5.6.245.7.14
Hive1.2.13.1.2
Flume1.7.01.9.0
Kafka2.4.13.0.0
Spark2.1.13.0.0
DataX3.0.0
Superset1.3.2
DolphinScheduler1.3.92.0.3
Maxwell1.29.2
Flink1.13.0
Redis6.0.8
HBase2.0.5
Clickhouse20.4.5.36-2

3.服务器使用物理机还是云主机;

  • 1.物理机:

    • 单个机器(128G,20C,40线程,8THDD和2TSSD硬盘,戴尔平台),报价4W左右,物理机寿命5年左右。
    • 需要有专业的运维人员,平均每月1万左右,电费也是不少开销
  • 2.云主机

    • 云主机,单个机器 (128G,20C,40线程,8THDD和2TSSD硬盘),阿里云为例,差不多相同配置,每年5W左右。
    • 运维工作都是有阿里云完成,运维相对较轻松
  • 3.企业如何选择:

    • 金融有钱公司,和阿里没有直接冲突的公司 选择阿里云
    • 中小公司、为了融资上市,选择阿里云,拉倒融资后买物理机
    • 有长期打算,资金充足,选择物理机。
  • 4.如何确认集群规模:

    • 1.如何确认集群规模 ?(假如:每台服务器8T磁盘,128G内存)
      • 1.日活,假设每天活跃用户100万,每人每天平均100条:100万*100条=一亿条
      • 2.每条数据1KB左右,每天一亿条数据:总容量:1亿KB/1024/1024 = 约100G
      • 3.半年内不扩容服务器来计算:100G*180天=约18T
      • 4.HDFS需要保存3副本:18T*3 = 54T
      • 5.需要预留20%-30%Buf,54T/0.7 = 77T
      • 6.总共需要的服务器:77T/8T 约10台服务器
      • 以上计算没有将数据压缩考虑在内,HDFS存储数据的时候必然会进行数据压缩,Parquet格式列式存储,压缩比更高,这里需要将压缩维度考虑在内,然后重新基于刚刚的步骤再进行计算。
    • 2.如果考虑数仓分层?数据采用压缩?还需要基于刚刚的重新计算
      • 如果基于每天未压缩前100G数据量:
        • 使用3台服务器,存储半年时间完全够用
        • 使用5-10台服务器,存储1-2年完全够用

5.集群资源规划设计

1.生产集群
  • 遵循原则
    • (1)消耗内存的分开
    • (2)数据传输数据比较紧密的放在一起(Kafka 、Zookeeper)
    • (3)客户端尽量放在一到两台服务器上,方便外部访问
    • (4)有依赖关系的尽量放到同一台服务器(例如:Hive和mysql) 在这里插入图片描述
2.测试集群

在这里插入图片描述

6.系统数据流程图

在这里插入图片描述

  • kafka作用:
    • 1.削峰,商城数据量级很大,需要考虑双11或者618这种大促活动,需要将集中式大批量数据进行削峰处理
    • 2.解耦,离线计算使用flume同步到HDFS中,同时也可以使用Flink进行实时计算。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/351689.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++:模板初阶(泛型编程、函数模板、类模板)

文章目录1 泛型编程2 函数模板2.1 函数模板概念2.2 函数模板格式2.3 函数模板的原理2.4 函数模板的实例化2.5 模板参数的匹配原则3 类模板3.1 类模板的定义格式3.2 类模板的实例化1 泛型编程 所谓泛型,也就是通用型的意思。 在以往编写代码时,我们常常…

Greenplum的两阶段提交

注:本文章引自终于把分布式事务讲明白了! 在前面的文章中,我们了解了单机库中的事务一致性实现以及分布式事务中的两阶段提交协议。大多数分布式系统都是采用了两阶段提交塄来保证事务的原子性,Greenplum也是采用了两阶段提交&am…

ChatGPT直播课听不够?微软ATP教你系统化入门人工智能

爆火的ChatGPT直播课听不过瘾?系统化AI知识在哪学?国际TOP科技公司AI算法工程师团队来为你支招!▍微软AI算法专家助力系统化学习人工智能「微软ATP」Microsoft AI Talent Program是微软(亚洲)互联网工程院下属的提供专…

【测试】自动化测试02

努力经营当下,直至未来明朗! 文章目录前言 回顾 预告一、常见的元素操作1. 输入文本sendKeys()2. 点击click3. 提交submit(通过回车键提交)4. 清除clear5. 获取文本getText()6. 获取属性对应的值getAttribute()7. 查看title和ur…

(二十四)ATP应用测试平台——springboot集成fastdfs上传与下载功能

前言 本节内容我们主要介绍一下如何在springboot项目中集成fastdfs组件,实现文件的上传与下载。关于fastdfs服务中间键的安装过程,本节内容不做介绍。fastdfs是一个轻量级的分布式文件系统,也是我们文件存储中常常使用的组件之一&#xff0c…

酷开系统壁纸模式,将氛围感死死拿捏!

古希腊哲学家柏拉图曾经说过:“美感是起于视觉、听觉产生的快感,以人的感官所能达到的范围为极限。”而电视则恰恰就是视觉听觉的完美融合体,当一台开启的电视可以给我们带来视听享受的时候,一台待机状态下的电视又如何取悦于我们…

Kotlin新手教程三(类与继承)

一、类 1.类的声明 与Java中类似,Kotlin中的类声明使用关键字class: class Person {var height: Int185 //规范写法:冒号后需要紧跟一个空格 }当你定义的类没有类体时,可以省略花括号: class Person2.构造函数…

多云和混合云场景下的 API 管理:挑战与选择

作者张超,API7 Cloud 产品负责人,Apache APISIX PMC 成员。 原文链接 一、多云和混合云 如今微服务已经成为最流行的一种软件架构,人们通过自己对业务的理解,和科学方法(比如领域驱动设计的理论)的加持将…

算法刷题打卡第93天: 最大的以 1 为边界的正方形

最大的以 1 为边界的正方形 难度:中等 给你一个由若干 0 和 1 组成的二维网格 grid,请你找出边界全部由 1 组成的最大 正方形 子网格,并返回该子网格中的元素数量。如果不存在,则返回 0。 示例 1: 输入&#xff1a…

c++11 标准模板(STL)(std::multimap)(九)

定义于头文件 <map> template< class Key, class T, class Compare std::less<Key>, class Allocator std::allocator<std::pair<const Key, T> > > class multimap;(1)namespace pmr { template <class Key, class T…

【论文速递】ACL 2021-CasEE: 一种用于重叠事件抽取的级联解码联合学习框架

【论文速递】ACL 2021-CasEE: 一种用于重叠事件抽取的级联解码联合学习框架 【论文原文】&#xff1a;A Joint Learning Framework with Cascade Decoding for Overlapping Event Extraction 【作者信息】&#xff1a;Sheng, Jiawei and Guo, Shu and Yu, Bowen and Li, Qian…

Python登陆系统

前言 #源码见文末公众号哈# 登录系统 一个简单的登录系统包含了登录账户、注册账户、修改密码以及注销账户的操作。 1. 登录账户 登录系统主要需要判断账户是否存在&#xff0c;不存在就注册一个账户&#xff0c;如果第一次登录系统&#xff0c;我们需要先新建一个文件&…

解密Teradata与中国市场“分手”背后的原因!国产数据库能填补空白吗?

2月15日&#xff0c;西方的情人节刚刚过去一天&#xff0c;国内IT行业就爆出一个大瓜。 继Adobe、甲骨文、Tableau、Salesforce之后&#xff0c;又一个IT巨头要撤离中国市场。 Teradata天睿公司官宣与中国市场“分手”&#xff0c;结束在中国的直接运营。目前&#xff0c;多家…

MySQL Study Notes Design in 2023

文章目录1 概述1.1 MySQL相关概述1.2 数据模型1.3 SQL分类2 数据库设计-DDL2.1 约束2.2 字段3 数据库操作-DML3.1 增加(insert)1 概述 1.1 MySQL相关概述 数据库&#xff1a;英文为 DataBase&#xff0c;简称DB&#xff0c;它是存储和管理数据的仓库。 数据库管理系统&#xf…

为什么重写equals必须重写hashCode

关于这个问题&#xff0c;看了网上很多答案&#xff0c;感觉都参差不齐&#xff0c;没有答到要点&#xff0c;这次就记录一下&#xff01; 首先我们为什么要重写equals&#xff1f;这个方法是用来干嘛的&#xff1f; public boolean equals &#xff08;Object object&#x…

Wallys|5 GHz 802.11ax|Does wallys QCN9074-5G module support W56?

Wallys|5 GHz 802.11ax|Does wallys QCN9074-5G module support W56?-Does wallys QCN9074-5G module support W56?-The answer is---sure!In this article,we’ll introduce about the W56 at 11ax 5GHz.If you realized this article is helpful, kindly help re-post / co…

《C陷阱与缺陷》----词法“陷阱”

导言&#xff1a; 由于一个程序错误可以从不同层面采用不同方式进行考察&#xff0c;而根据程序错误与考察程序的方式之间的相关性&#xff0c;可以将程序错误进行划分为各种陷阱与缺陷&#xff1a; ①.词法“陷阱” ②.语法“陷阱” ③.语义“陷阱” ④.连接问题 ⑤.库函数问…

Microsoft Office 2021 / 2019 Direct Download Links

前言 微软Office在很长一段时间内都是最常用和最受欢迎的软件。从小型创业公司到大公司,它的使用比例相当。它可以很容易地从微软的官方网站下载。但是,微软只提供安装程序,而不提供完整的软件供下载。这些安装文件通常比较小。下载并运行后,安装的文件将从后端服务器安装M…

2023美赛B题思路数据代码分享

文章目录赛题思路2023年美国大学生数学建模竞赛选题&论文一、关于选题二、关于论文格式三、关于论文提交四、论文提交流程注意不要手滑美赛B题思路数据代码【最新】赛题思路 (赛题出来以后第一时间在CSDN分享) 最新进度在文章最下方卡片&#xff0c;加入获取一手资源 202…

【软件架构设计】SOA/软件架构设计---面向服务的架构(SOA详细解释)

文章目录面向服务的架构SOA 概述1. 服务的基本结构2.SOA 设计原则3. 服务构件与传统构件SOA 的关键技术1. UDDI2.WSDL3.SOAP4.RESTSOA 的实现方法1.Web Service2. 服务注册表3. 企业服务总线微服务1.微服务的优势2. 微服务面临的挑战3.微服务与 SOA面向服务的架构 迄今为止&am…