当前位置: 首页 > news >正文

数据开发的习惯

一个月里滚打摸爬的一些小经验。
我是真的感觉走了太多弯路了。希望小白入职要好好看。

数据开发与规范

1、导数据之前,要确定好字段格式与数据类型,按照数仓要求文档去开发。
2、不同数据库导数据,无论数据多大都要先在源数据聚合统计,再在导完之后的数据进行统计,以及字段的大致校验。(不能不校验,不然很多脏数据会不好开发)。
3、做好整理文档的习惯,数仓开发文档以及注释,写代码一定要写注释,不仅仅是方便自己,也是方便其他人。
4、边开发要边测试,不要等到验收的时候一堆bug,测试还要考虑null值的影响。
5、建数仓如果是不同主题的表需要关联,left join会影响计算值,
所以先查一个子查询去校验是否使用关联,如果关联影响数据就建临时表。
6、数据量一下子统计很多,就多建临时表。我之前接了一个需求,要统计每个月份和一年的统计,按照正常的sql一下子跑一个小时。
步骤一定是先计算天的,再计算月的,每个月份跑3分钟就注意了,如果不是上调度这种就建临时表,里面添加月分区,计算就快了!
7、数据出错的流向图,有指标没数据就自己去从ads层到dwd,ods一层一层地找。
8、每天列好自己的清单,努力完成好自己的工作。
9、理解需求很重要,在需求大会多提问,每次接到需求就要仔细去思考具体步骤,而不是边开发边问。

比如数据要怎么接进来?
数据需要做什么清洗?
配置前端需要哪些字段作为接口?
我要开发一个什么样的表才能覆盖前端所有的接口?
数据有什么口径需求?

10、建表查询需要加分区,不然数据量大跑很慢
11、子查询每个字段都要有别称
12、字段如果有空值一定要设置默认值,请养成这个习惯
13、养成记录bug的习惯,让自己变强大吧。
14、千万不要一个子查询写两三百行,不然真的数据不一定对得上,还不好排查bug。
我一开始的习惯(反面例子)

with t1 as ()
 ,t2 as ()
 ,t3 as ()
 ,t4 as ()
 .
 .
 .
 .
 .,t100 as ()
 select .....

现在的sql,基本是按照基础表数据去建多张临时表,最后left join 关联

千万不要觉得一下子写好几百行sql很酷很酷。其实是一种很low的行为。
15、调度与shell脚本:shell不要在调度上跑,在linux环境中运行,shell在调度上不会报错。
16、日常少加班,业余多学习,只有技术提升了工作才能完成。我技术很菜,再加上和大佬一起,搞得大佬的进度也被拖延了。其实上班也可以打开b站去查技术上的问题。(那个大佬已经不想我帮他做需求开发了,和他合作的那段时间我们两个都很煎熬。)

这是不是很反三观,我发现最近入职的同事,比我上手快就是大家都下班很早,然后立刻去学习,而我技术菜还加班,没有提升空间。我们在职人员不仅仅要维护自己的代码,还要参与维护前人的代码,这要求我们要掌握所有公司要求的技术,下班别贪玩,要认真学习。

有关bug篇

下面分享我日常遇到bug的情况
1、开发遇到的bug
数据校验质量不通过:关联问题、过滤问题、取错字段、开发口径
导数据失败问题:工具不熟悉、配置参数没改完、对配置内容不熟悉
需求理解不到位:一定要有自己的思路,多问
2、自研平台不会使用
这个只能请教同事。
3、排查bug要一点点地来,不要一次登天。

开发最值钱的经验

1、会设计表,对于接口全部覆盖
2、会排查问题,有排查bug的能力。(我真的想找个时间把自己的bug都记录下来。)

相关文章:

  • 安陆 网站建设/2023知名品牌营销案例100例
  • wordpress手机下浮动/推广关键词排名
  • 如何判断网站好坏/百度竞价平台官网
  • 做网站的花费/最近三天的新闻大事小学生
  • 自己做交易网站/百度seo详解
  • 长春建站软件/微商软文大全
  • Redis实现消息队列整理笔记
  • Spring的事务控制
  • JavaScript:代码风格
  • JAVA【数据库DB 一】
  • 大数据必学Java基础(七十七):线程的生命周期和常见方法
  • web前端网页设计作业—个人网页(游戏主题)(html+css+js)
  • 2022-2023 ICPC Brazil Subregional Programming Contest VP记录
  • EMC诊断技术及电磁兼容理论设计
  • 升压IC可提升白光LED的电池电压
  • npm install ,npm ERR code 401 Incorrect or missing password 错误原因与.npmrc 配置文件的使用
  • 二十七、Hive分析搜索引擎用户行为数据
  • Kubernetes_14_静态Pod网关apiserver底层都是restful接口