梧桐无羽
写回答五分钟学大数据上帝视角看下数仓开发工程师所处的位置:数仓的话工作中肯定以sql为主,基本不写其他代码,但是sql怎么写,为什么这样写,扩展性怎么样,后期易维护性,易用性等等,这些很重要,工作中至少有三分之一时间是在考虑这些问题。所以数仓工作其实是分为两部分:技术和理论。技术肯定以sql为主,hive sql,spark sql,flink sql,必须熟练掌握,工作中一般分为离线数仓和实时数仓,但是面试时一般不区分,不管离线还是实时,面试官都会问到,离线的话重点掌握hadoop,hive,spark,实时的话重点掌握kafka,flink,hbase,必须会使用这些框架进行相关的开发。理论重点掌握:数仓搭建,数仓怎么分层,每层的作用,数仓建模,包括维度建模和范式建模,实时数仓需要知道 Lambda架构和Kappa架构,每种架构的优缺点等。总结下:SQL就不说了,必须熟练掌握,sql中的各种窗口函数、分析函数等都要会用。其他必须要掌握的,离线和实时我分开写:离线数仓需要重点掌握的技能:Hadoop(HDFS,MapReduce,YARN)Hive(重点,包括hive底层原理,hive SQL及调优)Spark(Spark 会用及了解底层原理)Oozie(调度工具,会用即可)离线数仓建设(搭建数仓,数仓建模规范)维度建模(建模方式常用的有范式建模和维度建模,重点关注维度建模)实时数仓需要重点掌握的技能:Hadoop(这是大数据基础,不管离线和实时都必须掌握)Kafka(重点,大数据领域中算是唯一的消息队列)Flink(重中之重,这个不用说了,实时计算框架中绝对王者)HBase(会使用,了解底层原理)Druid(会用,了解底层原理)实时数仓架构(两种数仓架构:Lambda架构和Kappa架构)
优质工程师考试问答知识库