前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >转型【数仓开发】该怎么学

转型【数仓开发】该怎么学

作者头像
数据仓库践行者
发布2022-01-19 19:57:03
6200
发布2022-01-19 19:57:03
举报

Hi,我是小萝卜算子!

这篇我们从面试的角度讨论一下转【数仓开发】该怎么学、学什么、学到什么程度。

数仓社招面试一般分为三个部分:

  • 技术基础:基于简历上写的技术展开去讨论这些技术点的原理、底层实现等
  • sql实践:1~3道sql题,现场写
  • 讲项目:中间会基于项目中的一些点展开讨论,穿插业务理解、数据建模、治理相关问题的讨论

我们就朝着这三个方面去准备,尽量的把这些知识融会贯通,变成自己能说的东西。

方法论

我们学习是一个由模糊到清晰的过程:

知道概念—>学习理论—>大量练习—>逐渐清晰—>再大量练习—>清晰—>熟练运用—>融汇贯通

核心技能

数仓开发要学的基础技术大体如下:

整个的核心只有一个:sql

我们要学一门【java or scala语言】、要理解【hdfs&yarn】、练习【mapreduce or spark core】 都是为了更好的理解sql,理解sql背后的运行原理,调优原理,实际工作中很少会再去写代码实现一些逻辑了,这就是为啥我周边有很多同学不懂语言,但是能做数仓开发的工作。

学习方法

学习方法有两种:

  • 从基础原理学起,按部就班:基础语言—>hadoop(hdfs&yarn)—>hive/spark—>写sql—>项目
  • 简单搭建环境,从sql开始:练习写sql—>用sql实现简单数仓项目(模拟业务场景,写sql实现数据建表,逻辑编写,完成数据抽取)—> sql运行的平台的原理hadoop(hdfs&yarn) —> sql本身的原理(hive/spark) —> 想要深入了解源码(java or scala语言)

比较推荐第二种学法,第二种学法之所以能行的通,是因为sql现在已经被抽象为一门通用语言了,mysql/hivesql/sparksql 等这些sql语法大体都是相通的,比如你会mysql,再学hivesql和sparksql就相当容易。

有好多校招生、实习生入职之后,基本也是先从sql入手,试着实现各种逻辑,而后再考虑调优,原理这些。

对于核心技能,学的时候,要学细,能用脑子记住的尽量记脑子里,不要总想着【到时候查一下资料】好了。

就像跳舞一样,慢动作时,要把框架做的尽量大,做到极限。这样变成快节奏时,做的缩小的动作才有可能好看。如果慢动作的框架就很小,那快动作的框架只会更小,就不好看了。

学习资源

市面上学习资料很多、很全:挑资料中和上面列的基础技术点相关的看,比如spark streaming不需要看了。

【尚硅谷】的官网,B站都有课程,在淘宝上也能花很少的钱买到【尚硅谷】和【传智博客】整套的课程。

看过【尚硅谷】的数仓相关的项目,描述非常详细,我们一步一步照着做就ok

学到啥程度

用150分的态度去学sql框架相关:sql语法、sql实践、数仓的项目、sql的运行原理(mapreduce or spark core)、sql编译原理

对sql的一切都保持好奇心

1、Sql的熟练度,常用的关键字拼写和用法都要记住,不要总想着去查资料,要奔着都记住的目标去,才能用的熟练

2、给一道写sql的题:能不能很快有思路的写下来? 能不能判断出自己写的逻辑有没有可能出现数据倾斜的地方?如果有会在哪一块? 什么原因?有没有什么解决方案?

3、再激进一点,对一个不是很复杂的sql,能不能判断出这个sql会shuffle多少次?产生多少个stage?什么情况下会用SortMergeJoin/ShuffleHashJoin/BroadCastJoin? 为啥?

4、常用函数的运行原理:count(distinct )、row_number() over()、lateral view explode等常用关键字的运行原理:group by 、partition by、distribute by 等这些是不是能讲清楚

5、有关项目和数仓建模,在面试时对语言组织和表达能力要求比较高。 逼自己写几遍总结出来,不要边参考资料边写,凭自己的理解去写,写完后,再对着参考资料修改。 写作是思考的过程,能够锻炼组织语言的能力,把学到的东西变成自己的语言写出来。然后,再试着讲出来。

用100分的态度去学hdfs&yarn和语言基础相关的知识点

hdfs&yarn的原理能理解,能用自己的话讲出来

语言类只是一个工具,社招面试已经很少再揪着某种语言不放了

相信上面这些做到了,至少在技术层面,面试官对你已经心有所属了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-12-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据仓库践行者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档