首页 / 数据仓库工程师
#

数据仓库工程师

#
32422次浏览 155人互动
此刻你想和大家分享什么
热门 最新
2023-08-08 18:58
网易_数据开发工程师
群友提问:数据仓库项目如何衡量好坏
群友提问:最近面试发现面试官对“怎样衡量项目的好坏”考察的比较多,像项目产出的数据产品被多少人使用、配合高效使缩短排期实现提前交付这种,应该从哪些角度来回答呢?还是怎样衡量项目的好坏从层面来说1业务侧项目价值:很多同学无法判断业务提供的内容是否是有价值的项目,比如取数这个无法被称作是一个项目,更像是简单的需求,项目的价值是通过周期性建设数据资产对业务方提供分析帮助或通过数据服务/组件帮助业务提效,结合数分建设版图工作来说具备价值内容包括专题分析、经营分析这些能够给予业务方直观数据。2项目目标是否明确  :结合第一点我们继续评估,项目目标清晰做到最后数分和数仓都没有项目成果,甚至数分对于到底从什么角度去分析专题内容都没思路,导致最终项目结束草草了事,对于这样的项目也是没价值的,反之运营、产品有明确目标例如要建设经营分析内容(经营分析模块对于数分来说是必做的事,也是能直接看到产出结果的事,专题分析则是探索去做,到底能不能实现,业务方认不认可,这个就待定了)。3数仓侧的价值 :数仓侧的价值有业务和基建2个部分,如果1 2业务价值都确定了,那么对于数仓来说这个项目是具备价值的,并且能使用到最终达到的成果,基建侧价值在于夯实数仓基建(可以参考数仓建设版图),除了离线开发外也要确定数据质量、数据治理等基建有没有去做,如果是做一个大板块例如数据治理-计算资源优化 或者计算资源治理下公共数据模型沉淀那这些都是具备价值的,而且可以看到明确的资源降低,年度省了多少钱,反之如果只是优化两张数据表那这块不足以称之为项目的。4现有技术实现评估:如果业务方或者数仓内部评估要做一个项目然而技术实现不了,或者因为现有架构原因实现比较困难,那这个项目也是没有价值的,第2点说了业务的目标明确,放到第4点来说是数仓目标是否明确,能不能通过现有能力去搭建实现。
点赞 评论 收藏
分享
数仓面试求教
面试数仓岗位问题如下:1.mapreduce中为何要hash partition分区2.mapreduce中为何使用快拍和归并排序3.两张表,译过来就是a为维表(不小),b为事实表,两表关联,如何优化?问后说关联是出现数据倾斜。数仓只知道mapreduce的原理流程,具体环节没有深究,大佬有能给解答的吗
牛客54146065...:1. HashPartitioner 是默认的分区器,也可以用别的, 比如TotalOrderPartitioner, 也可以自定义开发。 第一个问题, 先回答为什么要分区 就是数据shuffle过程中的一种打散策略。 Hash散列化是最容易想到的。 2. 在MR当中会用到多次排序过程 特别是map输出到内存再溢写到磁盘时会产生大量的临时文件,这些小文件是不能直接交给Reducer处理的,而要进行一个合并的过程, 这个过程是带着map-key进行操作的 所以要用到归并排序。 在环形缓冲的内存区 使用快排, 原因我还没想到。 (https://blog.csdn.net/u010737756/article/details/114198358 ) 3. 先定义和回顾数据倾斜的概念, 然后再思考join这个过程的实现 (reduce把相同key分组做笛卡尔积) 如果大表小表的差异巨大, 表现为小表的数据量比较少但key却比较集中,导致分发到某一个或几个reduce上的数据比其他reduce多很多,易造成数据倾斜。 常常会采用mapjoin 优化这类问题
点赞 评论 收藏
分享
玩命加载中
牛客网
牛客网在线编程
牛客网题解
牛客企业服务