开局一张图:
是不是感觉技能太多,很很模糊?
没关系,帆软君给你圈重点。
1、写sql
想不到吧,不仅仅是数据分析师需要写sql,大数据工程师也要,很多工作都会涉及到上下游的数据加工,也会基于数据仓库或者数据湖做分析,甚至你也可以听见很多入职1年的大数据工程师都在抱怨:说是大数据工程师,但其实进来就是写sql。
但是这种情况并不常见,就算写sql,也是在学习业务逻辑,为了帮助后面更好的成长。
2、维护或者搭建大数据平台
严格上来说,搭建并不是大数据工程师的工作,最多可能是维护,因为搭建一个大数据平台需要人力物力,还需要很多时间。
可以学习一下:miao君:一文读懂大数据平台——写给大数据开发初学者的话!
3、集群
大数据环境相关,一般涉及到如下(只截取了部分内容):
4、数据采集
一般是用flume,根据数据来源进行分类,数据采集可以大体三类:系统文件日志的采集、网络大数据采集、应用程序接入。下面我们一个一个来看。
帆软君之前写过一篇关于数据采集的回答:
如何进行数据采集以及数据分析?
5、数据处理
分为离线处理和实时处理。
离线处理:会涉及到hive和sql,可以批量统计海量数据
实时处理:听这个名字就应该知道,数据是实时变化的,这个涉及的会比较多一点,比如Flink
6、数据仓库
想看懂数据仓库的逻辑分层架构,必须先弄懂以下4大概念。
数据源:数据来源,互联网公司的数据来源随着公司的规模扩张而呈递增趋势,同时自不同的业务源,比如埋点采集,客户上报,API等。
ODS层:数据仓库源头系统的数据表通常会原封不动地存储一份,这称为ODS层, ODS层也经常会被称为准备区。这一层做的工作是贴源,而这些数据和源系统的数据是同构,一般对这些数据分为全量更新和增量更新,通常在贴源的过程中会做一些简单的清洗。
DW层:数据仓库明细层和数据仓库汇总层是数据仓库的主题内容。将一些数据关联的日期进行拆分,使得其更具体的分类,一般拆分成年、月、日,而ODS层到DW层的ETL脚本会根据业务需求对数据进行清洗、设计,如果没有业务需求,则根据源系统的数据结构和未来的规划去做处理,对这层的数据要求是一致、准确、尽量建立数据的完整性。
DWS层:应用层汇总层,主要是将DWD和DWS的明细数据在hadoop平台进行汇总,然后将产生的结果同步到DWS数据库,提供给各个应用。举个例子,从ODS层中对用户的行为做一个初步汇总,抽象出来一些通用的维度:时间、ip、id,并根据这些维度做一些统计值,比如用户每个时间段在不同登录ip购买的商品数等。这里做一层轻度的汇总会让计算更加的高效,在此基础上如果计算仅7天、30天、90天的行为的话会快很多。
DA应用层:
① 业务产品CRM、ERP等,业务产品所使用的数据,已经存在于数据共享层,直接从数据共享层访问即可;
② 报表FineReport、业务报表,同业务产品,报表所使用的数据,一般也是已经统计汇总好的,存放于数据共享层;
③ 即席查询即席查询的用户有很多,有可能是数据开发人员、网站和产品运营人员、数据分析人员、甚至是部门老大,他们都有即席查询数据的需求;
④ OLAP:目前,很多的OLAP工具不能很好的支持从HDFS上直接获取数据,都是通过将需要的数据同步到关系型数据库中做OLAP,但如果数据量巨大的话,关系型数据库显然不行;
7、数据可视化
其实也就是做好报表给业务人员查看,有开源工具,也可以用商用工具。
有人用echarts,有人用FineReport做大屏,也有人用FineBI等BI工具,后两者的学习成本和上手难度都很低,具体选择还是得看使用场景和需求。
<a data-draft-node="block" data-draft-type="ad-link-card" data-ad-id="commercialVip_5255c83a47b832e7eab6117ade19087f">FineReport做出的可视化大屏如下:
我是 @帆软 ,专注BI商业智能领域十五年!
<hr/>最后分享一些相关资料:
大数据决策分析平台建设方案《数字国资》案例集(半年刊)BI建设地图(行业独家)商业智能(BI)白皮书3.0 |