数据仓库工程师面经(未完)

2023-11-13

HIVE

Hive row_number,dense_rank,rank三个函数的区别

Hive 窗口函数如何设置窗口大小

Hive order by,sort by,distribute by,cluster by 区别

Hive map,reduce数怎么设置

-- map数 通过调整maxsize的大小来控制map数,减少则增加map,增加则减少map。
set mapreduce.input.fileinputformat.split.maxsize=100
-- reduce数
set mapreduce.job.reduces = *;

Hive SQL数据倾斜有哪些原因?怎么优化

原因:

  • key分布不均匀
  • 业务数据本身的特性
  • 建表时考虑不周
  • 某些SQL语句本身就有数据倾斜

优化:

  • 结合实际情况调参
  • 调整SQL语句
  • 过滤空值

parquet数据格式内部结构

Hive数据选择的什么压缩格式

  • 不同的场景选择不同的压缩方式,肯定没有一个一劳永逸的方法,如果选择高压缩比,那么对于cpu的性能要求要高,同时压缩、解压时间耗费也多;选择压缩比低的,对于磁盘io、网络io的时间要多,空间占据要多;对于支持分割的,可以实现并行处理。

  • 生产中,Map阶段数据落盘通常使用snappy压缩格式(快速压缩解压),reduce阶段数据落盘通常使用gzip或bzip2进行压缩(减少磁盘使用)。

  • 若该压缩格式不支持文件分割,则后续无法实现并行处理,生产优化核心是让每个文件大小略微低于块大小,如块128M怎文文件为125M。未压缩的文件是支持文件分割的

Hive SQL 如何转化成MR任务的

  • Antlr定义SQL的语法规则,完成SQL词法、语法解析,将SQL转换为抽象语法树AST Tree
  • 遍历AST Tree,抽象出查询的基本组成单位QueryBlock
  • 遍历QueryBlock,翻译为操作操作树OperatorTree
  • 逻辑层优化器进行OperatorTree变换,合并不必要的ReduceSinkOperator,减少Shuffle的数量。
  • 遍历OperatorTree,翻译为MR任务
  • 物理层优化器进行MR任务的变化,生成最终的执行计划

Hive 分桶了解吗

Hive分桶类似于MR的HashPartitioner。

MR的HashPartitioner是用key的hash值模除reduceTask的数量分区,
Hive的分桶是用指定字段的hash值模除桶的数量分桶。

分桶表的优点在于方便随机抽样与join不会数据倾斜。

Hive的udf、udaf和udtf了解过吗?自己有没有写过udf

怎么验证Hive SQL 的正确性

explain 查看执行计划。

lateral view explode关键字来拆分数组

select
 movie,
 category_name
from
 movie_info lateral view explode(category) table_tmp as category_name;

join操作底层的MapReduce是怎么去执行的

在这里插入图片描述

讲讲hive sql优化

https://blog.csdn.net/qq_41106844/article/details/108263401




MR&Spark

mr shuffle 是什么样子?具体原理是什么?为什么要排序?

在这里插入图片描述
shuffle排序,按字典顺序排序的,目的是把相同的的key可以提前一步放到一起。
shuffle是为了通过外排(外部排序)降低内存的使用量,防止reduce阶段排序发生内存溢写。

mr map,reduce数量都和什么相关

map的数量与输入的文件数、文件大小、块大小、块数量以及split大小有关。
正确的reduce任务的个数应该是0.95或者1.75 *(节点数 ×mapred.tasktracker.tasks.maximum参数值)。
如果任务数是节点个数的0.95倍,那么所有的reduce任务能够在 map任务的输出传输结束后同时开始运行。
如果任务数是节点个数的1.75倍,那么高速的节点会在完成他们第一批reduce任务计算之后开始计算第二批 reduce任务。

hdfs存放副本的策略是什么样的?

MapReduce的作业流程,涉及到几次排序

Spark任务执行过程

MapReduce Shuffle 和 Spark Shuffle的区别

Spark的内存管理模型

讲讲Spark Shuffle

Spark Shuffle bypass模型了解吗

Spark使用中遇到什么问题,怎么解决的

MapReduce&Spark任务调度流程

MR性能优化,如何突破性能瓶颈

Spark性能优化,如何突破性能瓶颈




数据仓库

什么是数据仓库

数据仓库是一个存储历史数据,从公司业务维度与业务指标满足业务需求的数据集合。

所以说数据仓库应该死扣的是业务需求。

你们公司数仓是怎么构建的,怎么做的分层

说说范式建模和维度建模的区别

什么是事实,什么是维度

说说星型模型和雪花模型的区别

设计一个统计各渠道用户留存的模型

缓慢变化维怎么处理

你们数据怎么同步到数仓的,怎么保证数据不丢失

数据质量怎么控制

数据规范怎么定义的

如果进行元数据管理

建模方法论

你是怎么分主题域的

对现在的业务有什么看法

现在的仓库是个什么情况,各个分层有什么特点?为什么这么分?

讲讲三范式

拉链表,缓慢变化维

给你一个新业务,怎么开展?




数据仓库灵魂30问

什么是数据仓库?如何构建数据仓库?

如何建设数据中台?可简单说下对中台理解与思路

数据仓库、数据中台、数据湖的理解

传统数仓的程度(建模工具、ETL工具、BI报表工具、调度系统)

传统数仓和大数据数仓的异同?有哪些大的变化?

印象最深刻的项目?为什么?亮点与优势?

数仓最重要的是什么?

实时数仓做过吗?采用什么架构?lambda有哪些优缺点?

如何看待kappa架构?iota架构呢?

责任心?沟通能力?团队协作?数据思维?

用户画像(静态、动态标签,统计、规则、预测标签,衰退系数、标签权重)

推荐系统(协同过滤,基于用户、商品,SVD,各种距离算法等)

数仓基础理念理解

数仓如何确定主题域?CDM?

数仓如何分层的?及每一层的作用?思考:为什么要这么分层?

数仓有哪几种建模思想?维度建模、范式建模、datavault?… 有什么优劣,如何选择?

SCD的常用处理方式?优劣?与SCD2与拉链表有什么异同?

元数据的理解?元数据管理系统?

如何控制数据质量?

如何做数据治理?数据资产管理呢?

Hive优化?SQL优化,参数优化

如何解决数据倾斜

小文件问题

order by、sort by、distribute by、cluster by

udf、udtf?处理的问题?

shuffer优化

MySQL如何改写row_number

连续n天登录用户

用户留存、用户活跃、沉默用户、回流用户

lag/lead()over()函数、ntile() 等分析函数

rollup、cube、grouping sets grouping_id

分区与分桶

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

数据仓库工程师面经(未完) 的相关文章

  • 数据资源池和数据仓库的区别

    数据资源池和数据仓库都是企业中用来存储和管理数据的重要组成部分 但它们在实际应用中有着不同的作用和特点 数据资源池通常是一个集成多个数据源的中央存储库 可以存储不同类型和来源的数据 包括结构化 半结构化和非结构化数据 数据资源池可以通过不同
  • bigdata1234.cn 大数据开发基础课堂测试

    数据容量单位 1 byte 8 bits 1 kilobyte KB 1024 bytes 1 megabyte MB 1024 KB 1 gigabyte GB 1024 MB 1 terabyte TB 1024 GB 1 petaby
  • 数据仓库工程师面经(未完)

    HIVE Hive row number dense rank rank三个函数的区别 Hive 窗口函数如何设置窗口大小 Hive order by sort by distribute by cluster by 区别 Hive map
  • hive中判断一个字符串是否包含另一个子串的四种方法,sql中也可用

    hive中判断一个字符串是否包含另一个子串的四种方法 如果你有一个数据需求 需要从一个字段中 判断是否有一个字符串 你该怎么做 一 方法1 like和rlike 最能想到的方法 用like或者rlike select i want to t
  • hive 计算日新、日活、更新历史表、用户留存

    创建日活记录表 linux gt vi user dau txt 1 zhansan 2023 02 10 2 lisi 2023 02 10 3 wangwu 2023 02 10 4 xiaohong 2023 02 10 5 aaa
  • 学习阿里如何进行数据指标体系的治理

    想必做数据的同学对One Data都有所耳闻 但One Data 体系具体包含了内容 有怎样的应用 不知道大家是否了解 今天我们详细分享一下One Data体系中关于数据治理相关的内容 One Data整体概述 首先 我们看看One Dat
  • R语言实用教程薛毅清华出版社课后题答案

    有R语言实用教程薛毅课后题答案习题1 5 详情请到我的页面资源查看
  • Flink CDC(2.0) 如何加速海量数据的实时集成?

    原文 Flink CDC 如何加速海量数据的实时集成 知乎 导读 Flink CDC如何解决海量数据集成的痛点 如何加速海量数据处理 Flink CDC社区如何运营 如何参与社区贡献 今天的介绍会围绕下面四点展开 Flink CDC 技术
  • 什么是OLAP

    问题导读 1 为什么会出现OLAP应用 2 OLAP的度过了哪些发展历史 3 OLAP的基本内容有哪些 4 OLAP常见操作有哪些 OLAP Online AnalyticalProcessing 是一种数据处理技术 专门设计用于支持复杂的
  • 【Hadoop技术篇】hadoop的使用

    博主介绍 博主介绍 大家好 我是淼淼 喵 很高兴认识大家 主攻领域 大数据开发 数据仓库 ETL 数据分析 面试分析 点赞 评论 收藏 养成习惯 一键三连 欢迎关注 一起学习 一起讨论 一起进步 欢迎评论 作者水平有限 欢迎各位大佬指点 相
  • LMDI(对数平均迪氏指数法)模型

    LMDI 对数平均迪氏指数法 模型 含stata代码以及计算参考文献 1 数据来源 见对应参考文献 2 时间跨度 无 3 区域范围 全国 4 指标说明 分享文件里面包括stata的程序文件 ado pkg sthlp 案例数据 中文的使用文
  • 初学MaxCompute

    MaxComputer是阿里云提供的一种全新的大数据计算服务 其具备更高效的计算及存储能力 本人的理解就是一个类似于HBase Hive的云上的数据仓库 参考官方文档系列 https yq aliyun com articles 85595
  • 数据挖掘知识点总结

    1 数据挖掘产生的背景 驱动力是什么 四种主要技术激发了人们对数据挖掘技术的开发 应用和研究的兴趣 超大规模数据库的出现 如商业数据仓库和计算机自动收集数据记录手段的普及 先进的计算机技术 如更快和更大的计算能力和并行体系结构 对海量数据的
  • Databend 存储架构总览

    目的 通过本篇文章带大家理解一下 Databend 的存储结构 Databend 内置的 Table 引擎为 Fuse table engine 也是接下来要花重点篇幅要讲的 另外 Databend 还支持外置的 Hive table 及
  • 数据仓库进阶 《阿里大数据之路》第二篇 数据模型篇 (完整版)

    第8章 大数据领域建模综述 此文章为学习笔记 有兴趣的小伙伴可以根据以下指引获取更多 学习内容链接如下 视频 一起啃书 阿里大数据之路数据仓库建模基础理论研读 已完结 哔哩哔哩 bilibili 书籍 阿里大数据之路 8 1 为什么需要数据
  • Hive 窗口函数如何设置窗口大小

    select city year taxes sum money over as sample1 所有行相加 sum money over partition by city as sample2 按city分组 组内数据相加 sum mo
  • 数据库不推荐使用外键的9个理由!

    我的经验告诉我 很多数据库 大多数我曾经使用的 不包含外键时并不总是一件坏事 在这篇文章中 我想把重点放在为什么的原因上 为什么这是一个问题 1 潜在的数据完整性问题 缺少外键明显问题是数据库不能强制进行引用完整性检查 如果在高一层没有正确
  • 大数据之hive(数据仓库工具)的分组和分区操作

    注 在对hive的概念 优缺点 安装部署和参数配置在之后再进行总结 本小节主要对hive中的分组和分区进行总结 一 分组 1 group by语句 group by通常和聚合函数一起使用 按照一个或者多个列进行分组 然后对每个组进行聚合操作
  • 数据挖掘知识浅析

    一 什么是数据挖掘 数据挖掘是指从大量数据中提取或 挖掘 知识 数据挖掘是一种 黄金挖掘 从沙子堆中挖掘出黄金 找出最有价值的黄金 这种有机的价值物提取的过程称为 黄金挖掘 通过某种手段或者经验丰富人士 从海量的数据中找出有用的 数据 掌握
  • 数仓面试总结

    2021年5月开始找工作 面试了若干个数仓的岗位 面的差不多也就2个 总结下大致的面试内容 一 字节视频面 上海的一个部门 视频面挂 小伙伴内推的 这个5月份面的 大概视频面试了一个小时 主要面试内容 1 问了mapreduce的具体执行过

随机推荐

  • WSL环境中Pycharm的python控制台中报错 ModuleNotFoundError: No module named ‘xxx‘(WSL+Pycharm环境搭建系列之四)

    WSL环境中Pycharm的python控制台中报错 ModuleNotFoundError No module named xxx 0 前言 1 问题现象 2 问题分析 3 解决办法 0 前言 经过前面几次的努力 我们基本上完成了环境中的
  • 《python数据分析与应用》第四章:pandas统计分析基础

    第四章 4 1 读写不同数据源的数据 4 1 1 读 写数据库数据 1 数据库数据读取 注意 数据库的用户名 一般都是root 和密码 自己设置的 都是要用自己的 地址默认的127 0 0 1 读取函数 你自己把文件存在哪了 和存储函数 你
  • 解密蓝牙mesh系列

    转载自 蓝牙技术联盟 蓝牙mesh网络基本概念 本周跟大家分享解密蓝牙mesh系列第四篇 点这里查看第一篇 第二篇和第三篇文章 同时也是蓝牙mesh网络基本概念的第二部分 借助蓝牙mesh 您将能够创建大型网络并支持成千上万的设备之间进行安
  • css的新玩法,语法与规则

    css的新玩法 语法与规则 important 语法 Selector sRule important 说明 提升指定样式规则的应用优先权 IE6及以下浏览器有个比较显式的支持问题存在 important并不覆盖掉在同一条样式的后面的规则
  • 将Javaweb项目部署到云服务器

    一 前言 由于业务需要 要搞一个文件上传下载服务器 代码当前已经在localhost上调试成功 现在需要把这个项目部署到云服务器上 选择的服务器是vultr的vps 系统是Ubuntu16 04 二 环境准备 1 jdk安装 常规安装即可
  • [Spring][Redis]@Cacheable与redis整合时Value和Key的理解

    更新于2019年11 08 首先 多谢CHENFU ZKK同学指出我的错误 卧槽 吓我一跳 我还以为我以前学的搞错了 若不是我亲自测试一遍 差点信你了 这两天趁有空 跟踪了 Cacheable相关的源码再次确认结果如下 1 直接使用Spri
  • 华为OD机试 - 星际篮球争霸赛(Java)

    题目描述 在星球争霸篮球赛对抗赛中 最大的宇宙战队希望每个人都能拿到MVP MVP的条件是单场最高分得分获得者 可以并列所以宇宙战队决定在比赛中尽可能让更多队员上场 并且让所有得分的选手得分都相同 然而比赛过程中的每1分钟的得分都只能由某一
  • 虚拟机联网图标丢失,连不上网的问题

    虚拟机连不上网 网络图标也消失不见了 输入ifconfig 发现也不显示ens33网卡 盲猜是由于关闭虚拟机的时候 一些配置出错 导致ens33网卡没有启动成功导致的 解决办法 重新开启网卡即可 1 关闭网络服务 sudo service
  • J2EE基础之集合框架List

    前言 今天跟大家发分享的是J2EE基础之集合框架List以及JavaWeb团队项目UML 昨天自己记录了J2EE一些基础知识 希望今天分享的知识对大家有用 首先跟大家讲一下今天要分享的知识 见思维导图 一 UML 1 含义 UML建模技术是
  • 异常日志分析

    从上往下看异常信息 直到第一行是自己写的代码为止 集成第三方工具 比如百度地图 先看demo 按着demo先跑来 然后再优化 跑demo出错了 先看异常日志 解决不了百度 百度地图集成注意类冲突 慢慢来
  • 无源定位入门(三)AOA(1)

    AOA交叉测向 基本原理 以M元均匀线阵为例 设单站匀速运动 第n个时刻的位置为 静止目标 则入射角方向为 设基站上有个M元均匀线阵 相邻阵元之间的间隔为d 其中为波长 第n个时刻线阵的方位角 与X正方向的夹角 为 与XY平面的夹角为 则线
  • 如何用sql语句创建一个表(简单基础)

    使用CREATE TABLE 语句 CREATE TABLE 语句用于创建数据库中的表 SQL CREATE TABLE 语法 CREATE TABLE 表名称 列名称1 数据类型 列名称2 数据类型 列名称3 数据类型 例题 创建一个ac
  • SPDK详解

    一 SPDK简介及基本使用 随着硬盘 闪存技术的高速发展 NVME ssd已逐渐进入分布式存储的核心领域 伴随着NVME ssd的出现 涌现出一批新型的存储名词 包括分层存储 分级存储 冷热存储 混合存储等 而这些名词的出现 也意味着ssd
  • sql 求分位数

    1 oracle求分位数 SELECT RES3 ORG NO 5 RES3 YM X1的上四分位数 PERCENTILE CONT 0 75 WITHIN GROUP ORDER BY RES3 X1 ASC AS X1 75 X1的上中
  • IntelliJ IDEA 常用快捷键,maven依赖图,个性化设置,禁用Search Everywhere

    查看idea 中jar关系图 快捷键 Ctrl 用于注释 取消注释 Ctrl Shift F 全文搜索 Ctrl F 单页面查找 Ctrl Alt Shift L 格式化代码 CTRL N 查找类CTRL SHIFT N 查找文件CTRL
  • 理解 spring 事务传播行为与数据隔离级别

    本文是为了个人学习使用 原文章链接 https www jianshu com p 760399781b78 https blog csdn net m0 37524661 article details 84935117 注 1 事务的隔
  • vite和webpack的区别

    vite和webpack的区别 1 前言 2 Webpack 2 1 Webpack简述 2 2 Webpack常用插件 3 Vite 3 1 Vite简述 3 2 Vite插件推荐 4 区别 4 1 开发模式不同 4 2 打包效率不同 4
  • 管理中计算机系统的应用论文,浅谈计算机数据库的管理与应用论文

    浅谈计算机数据库的管理与应用论文 摘要 随着社会经济的快速发展 信息化网络技术手段不断进步 信息技术在人们日常生活 工作及学习中的广泛渗透 不仅给人们生活带来了极大便利 还极大的提升了人们工作与学习效率 为社会各领域的发展起到了巨大的推动作
  • 类属性和实例属性名字冲突怎么办

    修改类属性会导致所有实例访问到的类属性全部都受影响 但是 如果在实例变量上修改类属性会发生什么问题呢 class Person object address Earth def init self name self name name p
  • 数据仓库工程师面经(未完)

    HIVE Hive row number dense rank rank三个函数的区别 Hive 窗口函数如何设置窗口大小 Hive order by sort by distribute by cluster by 区别 Hive map