数据仓库技术

数据仓库技术 (opens in a new tab)是作者晨曦十数年从事数据仓库相关岗位积累下来的各种知识、经验的非系统总结,作为知识库也分享给大家,希望能够帮助新手快速入门,大佬查漏补缺。

数据仓库概念由数据仓库之父比尔·英蒙 (opens in a new tab)于1990年提出。但是数据仓库概念更多的在描述、总结。常见定义如下:

维基百科: 数据仓库 (opens in a new tab)是一种信息系统的数据存储理论,此理论强调利用某些特殊数据存储方式,让所包含的数据,特别有利于分析处理,以产生有价值的信息并依此作决策。

Oracle: 数据仓库 (opens in a new tab)是一种面向商务智能 (BI) 活动(尤其是分析)的数据管理 (opens in a new tab)系统,它仅适用于查询和分析,通常涉及大量的历史数据。在实际应用中,数据仓库中的数据一般来自应用日志文件和事务应用等广泛来源。

数据仓库能够集中、整合多个来源的大量数据,借助数据仓库的分析功能,企业可从数据中获得宝贵的业务洞察,改善决策。同时,随着时间推移,它还会建立一个对于数据科学家和业务分析人员极具价值的历史记录。得益于这些强大的功能,数据仓库可为企业提供一个“单一信息源”。

Google: 数据仓库 (opens in a new tab)是一种企业系统,用于分析和报告来自多个来源的结构化和半结构化数据,例如销售终端交易、营销自动化、客户关系管理等。数据仓库适用于点对点分析以及自定义报告。数据仓库可以将当前数据和历史数据都存储在一个地方,旨在提供长期数据视图,这使其成为商业智能的主要组成部分。

IBM: 数据仓库 (opens in a new tab)或企业数据仓库 (EDW) 是一种系统,它可将来自不同来源的数据汇聚到一个集中、统一的数据存储中,从而为数据分析、数据挖掘、人工智能 (AI) (opens in a new tab)机器学习 (opens in a new tab)提供支持。

AWS: 数据仓库是信息(对其进行分析可做出更明智的决策)的中央存储库。通常,数据定期从事务系统、关系数据库 (opens in a new tab)和其他来源流入数据仓库。业务分析师、数据工程师、数据科学家和决策者通过商业智能(BI)工具 (opens in a new tab)、SQL 客户端和其他分析应用程序访问数据。

由于不同行业、不同公司、不同部门或者团队要解决的实际问题千差万别,所以建设数据仓库过程中用到的技术栈、建模方法各不相同,再叠加各家数据仓库建设路径等等,无法单纯的讲述什么方法好、什么方法不好,所以尽可能减少空对空的讨论。

我们尽快能少的脱离实际场景去讨论方法论,希望所有的方法理论都尽可能落实到一条条SQL、一张张表、一行行数据上。再好的架构最终也是落实到具体每份数据存储和计算上,所以我们尝试去做一个建设者,从方法论

如无特殊说明,数据仓库技术网站中的SQL使用hive、spark sql完成;

本站包含面试真题、基础知识、数仓建模,数据分析等模块。

面试真题: 给部分整理常见面试题目及各大公司实际面试中出现的SQL题目。面试SQL尤其是互联网大厂的面试SQL,通常是将实际业务问题抽象简化之后,考察某类问题的核心解决方案,刷面试真题是提升SQL水平的一个简便、快速的方法。刷面试真题不但可以提高面试能力,还能够实际提高自己解决实际问题的能力,希望你能真真实实的去思考、去编写、去执行这些SQL,去理解这些题目。

基础知识: 为对各类基础知识点的汇总,例如如何取出分位数、如何抽样、排序函数的区别、时间类型转换等等,将各类基础知识汇总整个,方便系统性的学习和查阅,并给出经常考察这些知识点内容的面试题目的考察方式及连接。

数仓建模: 包含数据仓库中各种建模方法及方法论、原则等等,通过一个个实际场景的例子,给出从建模思考、分层、落地的表及处理sql;

数据分析: 给出常见的分析方式方法;

面试真题

字节跳动

  1. 最高峰同时直播人数 (opens in a new tab)
  2. 每分钟最大直播人数 (opens in a new tab)
  3. 股票波峰波谷 (opens in a new tab)
  4. 合并日期重叠的活动 (opens in a new tab)
  5. 查询最近一笔有效订单 (opens in a new tab)
  6. 共同使用ip用户检测问题 (opens in a new tab)

美团

  1. 每分钟最大直播人数 (opens in a new tab)

拼多多

  1. 累加刚好超过各省GDP40%的地市名称 (opens in a new tab)
  2. 求连续段的起始位置和结束位置 (opens in a new tab)
  3. 求连续段的最后一个数及每个连续段的个数 (opens in a new tab)

小红书

  1. 品牌营销活动天数 (opens in a new tab)
  2. 用户商品购买收藏行为特征加工 (opens in a new tab)
  3. 查询每个用户的第一条和最后一条记录 (opens in a new tab)

快手

  1. 最高峰同时直播人数 (opens in a new tab)
  2. 用户中两人一定认识的组合数 (opens in a new tab)

腾讯

  1. 向用户推荐好友喜欢的音乐 (opens in a new tab)
  2. 占据好友封面个数 (opens in a new tab)
  3. 合并连续支付订单 (opens in a new tab)
  4. 连续5天涨幅超过5%的股票 (opens in a new tab)
  5. 连续登陆超过N天的用户 (opens in a new tab)
  6. 微信运动步数在好友中的排名 (opens in a new tab)

百度

  1. 股票波峰波谷 (opens in a new tab)
  2. 合并用户浏览行为 (opens in a new tab)
  3. 无效搜索 (opens in a new tab)

京东

  1. 合并数据 (opens in a new tab)

滴滴

  1. 取出累计值与1000差值最小的记录 (opens in a new tab)
  2. 截止目前登陆用户数及登陆用户列表 (opens in a new tab)

三一重工

1.部门人员数据分析 (opens in a new tab)

华为

  1. 合并日期重叠的活动 (opens in a new tab)

meta

  1. 计算每个用户的受欢迎程度 (opens in a new tab)

常见

  1. 每年成绩都有所提升的学生 (opens in a new tab)
  2. 连续点击三次用户 (opens in a new tab)
  3. 去掉最大最小值的部门平均薪水 (opens in a new tab)
  4. 当前活跃用户连续活跃天数 (opens in a new tab)
  5. 销售额连续3天增长的商户 (opens in a new tab)
  6. 不及格课程数大于2的学生的平均成绩及其排名 (opens in a new tab)
  7. 计算次日留存率 (opens in a new tab)
  8. 按照顺序进行行转列拼接 (opens in a new tab)
  9. 所有考试科目的成绩都大于对应学科平均成绩的学生 (opens in a new tab)
  10. 用户行为路径分析 (opens in a new tab)
  11. 查询每个产品每年总销售额 (opens in a new tab)
  12. 查询前2大和前2小用户并有序拼接 (opens in a new tab)

加入社群

扫码备注 “数据仓库”加入数据仓库技术交流群

扫码备注 “数据仓库”
加入数据仓库技术交流群

关注公众号数据仓库技术

关注公众号「数据仓库技术」
获取数据仓库技术面试SQL