实习中了解的互联网数仓

2023-10-27

大数据平台

之前在两家互联网企业都做过数仓相关方面的实习岗位,一家中大厂,一家大厂。在这里简单分享一些数仓在企业中实际的运作,方便一些对数仓有兴趣但尚未在企业中数仓岗位实践过的同学了解。

数据开发平台

一般来说,中型或大型企业都会有自己的大数据平台或者使用一些开源的大数据平台再进行修改,所以一般不需要自己像在本地实践那样自己在linux上提交任务(同时如果是离线开发的话,一般是不需要直接用scala或者其它语言写spark代码的,都是直接使用写sql的方式即hive on spark的方式进行开发),因此在公司的平台上进行代码开发是十分方便的。企业级的大数据平台都会集成相当多的功能,从开发的角度来说,最主要的包括但不限于数据导入导出任务,数据集成任务,离线数据开发任务等。

 

(此图为某大数据平台的离线开发任务截图,可以看到图中可以选择执行的执行引擎,根据两次实习的情况,现在一般已经淘汰掉mapreduce,离线开发基本上统一采用spark引擎;同时还可以看到需要选择该任务是需要哪一个业务组的,以及需要选择连接哪一个队列。图片侵删)

快速查询平台

一般企业级的数仓开发任务涉及的数据量都较为庞大,所写的代码也可能比较复杂。有时开发人员需要提前探查部分数据或者检验部分代码是否有预期的结果,此时如果直接在数据开发平台上创建任务不太现实,因为会十分浪费资源。这种情况下企业里一般会提供一个快速查询平台,采用presto或者Impala等相关OLAP引擎搭建,这类引擎支持在线快速查询,可以方便用户快速地获取查询结果,以方便开发。

(图片侵删) 

资源调度平台

除了开发任务以外,大数据平台不可缺少的还有资源管理平台,一般采用yarn作为底层主体进行资源调度管理。在企业里,不同部门里不同的组都会被分配一定量的资源( cpu和内存)。一般来说,越核心的业务被分配到的资源就会越多,以节省企业成本。

在资源管理平台上,可以时刻查看当前有多少比例的cpu和memory正在被使用,每个任务又在其中占了多少的比例。通过资源平台面板可以观察是否有可能存在资源超发的情况,如果发现可能即将存在或者已经存在的话,就要考虑进行任务调优或者向资源平台暂时借一些队列资源(紧急情况下可以考虑停掉一些优先级比较低的任务)

元数据管理平台

作为企业级的大数据平台,为了管理庞大的数据以及方便不同部门的人了解不同业务的数据情况,还需要有一个元数据平台进行整体的数据管理。在大型企业里,由于业务的复杂性,会创建相当多的字段,此时就可能出现在不同业务中同一含义起了不同的字段名称,又或者同一字段名称有不同的业务含义,进而导致其它人员在选取字段时出现困惑,不知道选择哪一个。为了尽可能避免这种情况,会创建一种叫“数据字典” (不同企业可能叫法不同)的面板,在这个面板上可以查到每个业务(在企业中可能会用数仓中主题域和主题的概念进行替换)下目前都创建了哪些字段,每个字段都代表什么意思,当需要创建新字段的时候,需要将其添加到数据字典里。当然, 为了统一规范,每个企业里都会写一些规范文档来告知应该如何给一些业务含义起名,比如在游戏业务中的英雄名称应该用什么英文,游戏中的击杀动作又应该用什么来起名,进而避免大家的习惯不一造成困惑。

除了管理庞大的业务字段以外,元数据平台上还会有面板展示其它相当多的元信息,下图中可以看到当前企业中有多少业务创建了多少库,总体使用了多少资源。

(某大数据平台的元数据总体面板,图片侵删)

数据地图

数据地图,应该是近几年很多企业都会努力完善的一个数据方向,它主要的作用有以下两个:

  • 展示每个表的元信息:每个表有哪些字段,当前该表存储在哪,每天的数据量和数据条数有多少,当前总体的数据大小有多少等等。
  • 展示不同表之间的关系:用于溯源,即展示该表当前涉及到哪些任务,这些任务的上下游有哪些(有限定最大上游和最大下游个数)。

(某大数据平台的数据地图页面,图片侵删) 

在企业中,数据地图会被大家广泛使用。开发人员在开发的时候会到数据地图平台上查看需要用到的表的信息;在初步开发完成后测试阶段会到数据地图上查看是否有预期数量的字段产生。对于产品人员来说,会到数据地图上查看当前某个业务下已存在哪些表,了解当前有哪些信息是需要改进或者新加的,进而讨论是否有开发的需求。

BI平台

除了数据开发平台和上述的其它平台外,开发完的数据当然要有所利用,自然而然就会有BI平台供相关人员进行数据分析。BI平台不需要过多的介绍,一般就是利用数据进行一些报表开发(比例最高,直接展示一些汇总数据很多时候最高效),或者制作一些图表像线形图扇形图等。除此之外,可能还会有一些更高级的功能比如AB实验等,因为笔者没干过数据分析之类的岗位,这里就不过多赘述。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

实习中了解的互联网数仓 的相关文章

  • 如何检查oracle数据库中分配给模式、角色的对象的权限(DDL、DML、DCL)?

    大多数时候 我们都在与愚蠢的事情作斗争 以获取架构 角色及其对象的权限详细信息 并尝试找到一些简单的方法来获取有关它的所有详细信息以及伪查询代码 以批量生成授予语句以供进一步使用执行 所以我们在这里得到它 关于数据字典视图前缀的一些简单介绍
  • 删除重复的行并需要在mysql中保留所有行中的一个[重复]

    这个问题在这里已经有答案了 我想删除基于两列的重复行 但需要保留所有行 1 行 重复行可以多于两行 例如 ID NAME PHONE 1 NIL 1234 2 NIL 1234 3 NIL 1234 4 MES 5989 我想从上面 3 行
  • 合并sql中的列

    我正在使用 SQL Server 2017 有一个存储过程 其中我有一个带有连接的简单选择 例如 SELECT p legacyKey AS JobNumber p Name AS JobName G Label AS DesignStat
  • 最近邻居的 Postgis SQL

    我正在尝试计算最近的邻居 为此 我需要传递一个参数来限制与邻居的最大距离 例如 半径1000米内最近的邻居是哪些 我做了以下事情 我用数据创建了表 id name latitude longitude 之后 我执行了以下查询 SELECT
  • 在 SQL 中按键组对行进行顺序编号?

    SQL中有没有办法按顺序添加行号按关键组 假设一个表包含任意 CODE NAME 元组 示例表 CODE NAME A Apple A Angel A Arizona B Bravo C Charlie C Cat D Dog D Dopp
  • MySQL LIKE %string% 不够宽容。我还有什么可以用的吗?

    我有一位客户询问他们的搜索是否可以搜索公司名称 这些名称可以根据用户输入以多种格式进行搜索 例如数据库中存储的公司是 A J R Kelly Ltd 如果用户搜索 一个 J R Kelly 被发现 使用
  • 私人聊天系统MYSQL查询显示发送者/接收者的最后一条消息

    在这里我延伸一下我之前的问题 私人聊天系统MYSQL查询ORDERBY和GROUPBY https stackoverflow com questions 10929366 private chat system mysql query o
  • 通过 SQLAlchemy 获取随机行

    如何使用 SQLAlchemy 从表中选择一个或多个随机行 这在很大程度上是一个特定于数据库的问题 我知道 PostgreSQL SQLite MySQL 和 Oracle 具有通过随机函数排序的能力 因此您可以在 SQLAlchemy 中
  • SQL Server 2012:有条件地增加计数器用户 ROW_NUMBER()

    我正在尝试申请ROW NUMBER 根据特定条件增加计数器 我的数据如下所示 目标计数器是Prep column id DSR PrepIndicator Prep 1662835 1 1 1 1662835 14 2 2 1662835
  • 如何在 Spring Data 中选择不同的结果

    我在使用简单的 Spring Data 查询或 Query 或 QueryDSL 在 Spring Data 中构建查询时遇到问题 如何选择三列 研究 国家 登录 不同的行 并且查询结果将是用户对象类型的列表 Table User Id S
  • Magento --“SQLSTATE[23000]:违反完整性约束..”客户更新

    迁移服务器后 每次尝试更新客户信息时都会出现错误 我正在使用一个客户激活插件 http www magentocommerce com magento connect vinai extension 489 customer activat
  • 如何连续添加起始行和下一行的值

    我只想创建一个 sql 查询 结果就像图片上的那样 类似于 SQL 中的斐波那契数列 Ex Column 1 10 则 Result 列的值为 Result 10 因为这是第一行 然后假设column1第二行的值为50 那么Result第二
  • 带有可变 WHERE 子句的批量 UPDATE 表

    我有一堆值对 foo1 bar1 foo2 bar2 我想做一堆更新 将 foo 列设置为 foo1 其中 bar 列为 bar1 我正在使用 psycopg2 在 Python 中执行此操作 我可以executemany与查询UPDATE
  • 如何将SQL数据加载到Hortonworks中?

    我已在我的电脑中安装了 Hortonworks SandBox 还尝试使用 CSV 文件 并以表结构的方式获取它 这是可以的 Hive Hadoop nw 我想将当前的 SQL 数据库迁移到沙箱 MS SQL 2008 r2 中 我将如何做
  • Snowflake 中的动态 SQL

    当我在雪花中运行动态 SQL 时 遇到以下错误 未完成对 SQL MAIN 的分配 因为值超出了变量的大小限制 它的大小是263 限制为 256 内部存储大小以字节为单位 这是代码 SET v G 1 SET v G1 v G VARCHA
  • 3 个表的 SQL 查询(或联接)

    第一次在 Stack Overflow 上问问题 很棒的资源 但是只有一件事真正让我作为 SQL 新手感到困惑 我有三个表 我想获取与鲍勃的学生相关的所有导师的姓名 表 1 教师 ID Name 1 Bob 表 2 学生 STUDENT I
  • 获取在任何日期创建的表的列表?

    我遇到了这样的情况 我想查找我在 2012 年 9 月 14 日 2012 年 9 月 14 日 在 sql server 上创建的表 是否有任何查询会列出在此日期创建的这些表 SELECT FROM sys tables WHERE cr
  • 更好地理解 SQL Server 中的架构

    就像标题一样 我还是一个SQLServer菜鸟 当我创建表 Mytable 时 数据库中显示 dbo Mytable 但有人能让我更好地理解模式吗 另外 在 Server 2008 TSQL 一书中 Itzik 说 在你的数据库中 表属于模
  • IIF(...) 不是公认的内置函数

    我正在尝试在 Microsoft SQL Server 2008 R2 中使用它 SET SomeVar SomeOtherVar IIF SomeBool value when true value when false 但我收到一个错误
  • 更改mysql数据库表中的日期格式

    大家早上好 只是一个简单的问题 在我现有的 MySql 数据库中 我几乎没有包含日期 的列 目前这些是年 月 日格式 但现在我需要将其全部更改为年 月 日格式 我试过了select date format curdate d m Y 但它不

随机推荐

  • 六句话给出 Synchronized 和 Lock 的区别

    1 Synchronized 内置的 Java 关键字 Lock 是一个 Java 类 2 Synchronized 无法判断获取锁的状态 Lock 可以判断是否获取到了锁 3 Synchronized 会自动释放锁 Lock 必须要手动释
  • Windows下Anaconda3下载安装详细步骤

    第一步 去官网下载Anaconda Individual Editionhttps www anaconda com products individual 第二步 点击Download 在安装之前 要先安装python的版本 这里我先安装
  • C++ 实验8 继承

    编写一个学生和教师数据输入和显示程序 学生数据有编号 姓名 班级和成绩 教师数据有编号 姓名 职称和部门 要求将编号 姓名输入和显示设计成一个类person 并作为学生类student和教师类teacher的基类 类图如下 代码如下 头文件
  • Win10笔记本(机械革命)亮度调节快捷键失效-已解决

    Win10笔记本 机械革命 亮度调节快捷键失效 已解决 1 确定你已经安装了核心显卡驱动 驱动精灵检查一下 2 右击此电脑 管理 系统工具 设备管理器 监视器 单击展开 卸载dpms 卸载Generic Monitor 选中删除相关驱动 3
  • iText包对每页pdf文件加水印

    https ishare iask sina com cn f 31zwqlKmIwM html
  • 用户编写的python程序、无需修改就可以_python的笔记(一)

    Python的基本特点一种动态解释型的编程语言 规范的代码 Python 采用强制缩进的方式使得代码具有极佳的可读性 高级语言特性 封装内存管理等 可移植性 程序如果避免使用依赖于系统的特性 那么无需修改就可以在任何平台上运行 解释性 直接
  • 带你入门TypeScript

    一 为何学习TS 1 TypeScript 在社区的流行度越来越高 它非常适用于一些大型项目 也非常适用于一些基础库 极大地帮助我们提升了开发效率和体验 2 TypeScript 可以编译出纯净 简洁的 JavaScript 代码 并且可以
  • python画玫瑰图_python windrose(风玫瑰图)

    conda install c https conda anaconda org conda forge windrose b 用pip install windrose可以成功 但是安装的路径 python找不到 from windros
  • 多表联查优化

    多表联查优化我总结有以下几点 优化sql语句 索引优化 反范式设计 业务代码优化 使用缓存 优化sql语句 sql性能分析 查看执行频次 查看执行频次 select insert delete update shwo global sess
  • Python应该怎么学,如何系统地自学Python?

    这是一份kaggle上的银行的数据集 研究该数据集可以预测客户是否认购定期存款y 这里包含20个特征 1 分析框架 2 数据读取 数据清洗 导入相关包 import numpy as np import pandas as pd 读取数据
  • 厉害了,用 Java 也能实现图片识别!

    点击上方 Java基基 选择 设为星标 做积极的人 而不是积极废人 源码精品专栏 原创 Java 2020 超神之路 很肝 中文详细注释的开源项目 RPC 框架 Dubbo 源码解析 网络应用框架 Netty 源码解析 消息中间件 Rock
  • VS2010 编译 sqlite3 生成动态库和链接库

    如果想以dll的方式使用sqlite而新建空的dll工程 添加sqlite源文件 会发现能生成dll 但缺乏lib函数信息映射库 单独使用dll文件是比较麻烦的 而网上多数做法是通过lib exe手动生成lib 这当然不是我想要的 结合几篇
  • 给NVMe设备发送一个SCSI READ_10命令

    0 READ 10命令 READ 6命令只能支持块大小为512B设备的2GB范围的寻址 因此官方推荐将READ 6迁移到READ 10 READ 10具有2TB的寻址能力 对于800G的NVMe设备来说当然是极好的 其实READ 10具有更
  • 【解决】手机安卓已经导入burp证书,但仍提示此证书并非来自被信任的机构

    安卓手机已经安装burpsuite证书 但app应用软件仍无法访问https联网 浏览器可以访问http但https提示此证书并非来自被信任的机构 这问题应该是安卓独有的 博主之前的模拟器访问完全没问题 最近突然无法访问 用控制变量法 我改
  • 2013年11月26日星期二(t3dlib1剩余部分---2)

    接下来 继续进行T3DLIB1剩余部分 倒着进行 先进行bob碰撞检测 int DDraw BOB Collision BOBS BOB PTR bob1 BOB PTR bob2 if bob1 bob2 return 0 int wid
  • 【Unity3D游戏开发学习笔记】(七)上帝之眼—第三人称摄像机的简单实现(跟随视角,自由视角)

    陆陆续续又开始更新自己的博客 看来自我驱动能力还是不够啊 废话不多说了 之前的内容大概说了一下Unity的一些基础知识 接下来我们将要对一些基本功能做一些学习 大家都知道 一个游戏 少不了摄像机的参与 这不是废话么 没摄像机怎么玩 画面都不
  • linux脚本的注释符号是什么,Shell中的变量和符号

    Shell中的变量 变量 shell 变量 可以保存如路径名 文件名或者一个数字 变量名称可以由字母 数字和下划线组成 但是不能以数字开头 如果变量名是 2name 则是错误的 在Bash中 变量的默认类型都是字符串型 如果要进行数值运算
  • log4j2史诗级漏洞攻击重现

    早上来到公司 就听到安全团队的同事说log4j2有个高危漏洞 起初并不是很在意 想着一个日志框架能有啥高危漏洞嘛 但是仔细一看 居然是远程执行命令的漏洞 上次看到这个名字还是struts2 修复方法也很简单 升级log4j依赖版本到2 15
  • vue【element ui】el-date-picker 日期选择器控件 限制可选的开始时间和结束时间

    项目场景 总结一下日期控件实现开始日期 结束日期的选择范围限制 以便更符合实际情况 需求 1 开始时间和结束时间都不能选当前日期之后的时间 当前时间 2022年5月16日 2 先选开始时间的话 结束时间是在开始时间的后一周内选择 也就是不能
  • 实习中了解的互联网数仓

    大数据平台 之前在两家互联网企业都做过数仓相关方面的实习岗位 一家中大厂 一家大厂 在这里简单分享一些数仓在企业中实际的运作 方便一些对数仓有兴趣但尚未在企业中数仓岗位实践过的同学了解 数据开发平台 一般来说 中型或大型企业都会有自己的大数