聊聊做大数据开发的日子

生活 枫艾 ⋅ 于 2020-09-09 17:31:59 ⋅ 351 阅读

最近有不少童鞋问到我一些生活的问题, 例如:

  1. 做大数据的日子都干些什么?
  2. 刚进入公司应该怎么度过?
  3. xxxx重要嘛? 平常怎么学习?

很感谢大家愿意听我唠叨哈~
今天有空跟大家分享一下做大数据的日子吧~
首先, 先闲聊一些; 做大数据开心嘛? 还是比较开心的! 为什么? 赚的比之前多呀! 而且还有不小的成就感! 但是同样也会有许许多多的不方便存在, 毕竟我们是程序员一族, 早出晚归? 神出鬼没? 不至于, 但也不会想朝九晚五那班稳定, 项目上线, 加个班; 线上事故, 加个班; 需求对接, 加个班; 回家的时间点有些飘忽不定, 但会过得充实; 所以, 珍惜每一个天, 珍惜每一个休息日, 好好休息休息~

好啦, 我们回归主题:

做大数据的日子都干些什么?

既然说到工作, 那必然会跟项目联系到一起, 我们一起把项目拆解一下, 就知道我们大数据开发做些什么啦~
拆开简单来说:
(1). 数据从哪里来?
我们做数据的, 那么数据要从哪里来呢? 无外乎两种: 自产 和 从外部获取;
从外部获取: 爬虫 和 第三方(调接口);
工作内容来了: 简单爬虫的开发, 调接口的工具脚本开发;
自产: 数据的拉取; 数据的结构;
工作内容来了: 数据拉取的框架的开发;
之中又会有一些额外的因素影响到我们: 网络通不通? 数据量太大规定时间完不成? 数据是否完整? 这些都是我们需要解决的问题;
(2). 数据怎么存?
这个就是我们数据开发的重点了: 数仓
数仓现在又有离线数仓和实时数仓;
工作内容来了: 数仓的开发; 这可是一个大的内容, 因为其中涉及到了, ETL的框架的开发, 如何保证一个稳定的ETL框架, 如何使用合适的调度器?
选择什么存储? 选择什么技术类型? 选择什么技术引擎?
数仓规范的开发; 数仓内表结构的开发; 数据结构的开发;
数据怎么存, 就能展开说很多很多, 针对这一点我们又有很多事情来做;
(3). 数据怎么用?
我们肯定不可能直接把数据给别人看, 一定要进行数据的清洗;
工作内容来了: 报表指标的开发***
这个可是说是业务性很强的部分, 不同行业的业务指标侧重点也不同, 报表所需要的维度也不一样, 算法也不同;
好多时候, 大部分数据开发都是在做业务, 这个业务就是 报表的开发;
报表开发, 我们要写 ETL, 要写SQL, 要入库, 还可能要写一些接口, 前端;
工作内容来了: ETL流程开发; SQL开发; 接口的开发(简易); 前端页面的开发(简易);
倘若分配给的工作, 专职写 接口和前端, 那趁早换一家公司!

上面可能讲说的太笼统了, 我举个自己写项目的例子来给大家具象化一下~:

  1. 日志怎么来, 通过调用第三方的接口回调日志, 落在日志机器上面;
    这里就涉及到了: 日志回调接口的开发; 切割日志; 备份日志; 日志写入Kafka(实时);
  2. 日志我有了, 怎么拉取; 通过Oss拉取日志;
    这里就涉及到了: 怎么通过Oss拉取日志; 日志入库; 日志完整校验; 机器网络影响;
  3. 日志入库了, 怎么清洗, 这些就是指标的开发;
    这里就涉及到了: 数仓的模型ods层, dwd,dws,dwb等一系列表的设计, etl框架的开发; 指标算法的开发(超级耽误时间,算法千奇百怪); 指标入mysql的功能开发;
  4. 怎么进行调度, 选用合适的调度工具;
    这里就涉及到了: 报警处理; 重跑逻辑; 避免重复调度;等系列问题
  5. 数据质量怎么监控;
    这里就涉及到了: 数据质量脚本开发;等
  6. 实时任务指标的开发;
    这里就涉及到了: 技术栈的选型; 对应的功能消费kafka的开发;
  7. 数据多维度, olap场景怎么查数据;
    这里就涉及到了: 查询引擎的调研; 测试; 对应的开发部署等系列问题;

当这些都完成之后, 我们项目的数据部分的demo就完成啦~
可以看到, 我们大数据开发也是比较忙碌的, 涉及的点多, 需要考虑的各方面因素也多; 当出现报错的时候, 需要快速的定位问题;
需要的语言技术栈也多, 同时也会让我们保有新鲜感, 保佑成就感;

废话有些过多, 大家多多担待~

刚进入公司应该怎么度过?

刚进入公司, 我们都会很紧张还会很怕; 实际上当我们刚进入公司的时候, 第一件事情就是熟悉公司的环境; 刚进入公司又不懂的地方就要问;
因为谁也不知道领导的水平怎么样, 遗留下来的环境怎么样; 熟悉集群, 熟悉公司的架构, 熟悉技术栈; 调试好我们自己的开发环境, 这些都是我们非常需要第一时间掌控的, 至于第一个任务是什么, 我们只有把这些准备工作都准备好了, 才有心思和能力去完成第一个任务; 所以在这些都熟悉之前放平心态, 我们的知识对于公司来讲 都是溢出的, 我们把准备工作做好之后; 在静下心来, 拆解任务, 拆解需求, 看需要怎么来进行处理, 必要的时候可以问问朋友, 千万不要着急, 也不要直接就把任务丢给朋友, 要先自己了解拆解之后, 再去进行开发处理; 开发过程中遇到技术问题可以stackoverflow查询一些解决方案, 也可以跟同事进行沟通, 让同事提供一些思路;
刚进公司, 最怕的就是很慌; 实际上, 刚进公司也不会给你什么非常紧急的任务, 所以抓紧刚进公司的时间 熟悉环境, 当第一个任务完成之后, 心态就会越来越好, 整体也都会好起来啦~

xxxx重要嘛? 平常怎么学习?

每一个点都要明白, 都要理解模型基础; 因为谁也不知道以后进入的公司的技术栈是怎么样的, 公司之后的技术栈是怎么样的;
我刚进公司的时候, 领导说我们这里spark用得少, 现在用的不亦乐乎~ 所以准备好所有的点才是王道;
这里准备好所有的点, 并不是说要掌握所有知识, 一字不落能掌握固然很好, 但大多时间我们需要掌握基础模型, 同时在初步使用的时候, 尽快了解开发流程, 进行开发; 在工作中, 尤其是我们大数据开发, 组件的迭代是非常频繁的, 怎么去学习呢?
官网往往是一个非常好的地方, 会有交流的群, 看一些文档; 也可以搜索一些视频, 当然不要忘了自己去总结~~
落成笔记, 并且标注自己的理解, 他就是你的知识, 你的武器啦~~
没事写一写demo, 丰富自己的组件库, 未来都是作为架构的资本呀~~

写在最后

做数据, 不要怕出错, 出错了我们尽快解决就好~ 放平心态,
让脑子转起来~ 让脑子转起来~ 让脑子转起来~ 无论任何时候, 都要动脑子去想问题, 想解决方案, 而不要一片空白, 就算空白,也要尝试去想, 久而久之, 解决紧急问题的能力就get啦~

没有草稿, 也没有仔细排版, 呼呼啦啦写了一大堆想到哪里说哪里, 大家可能看的不是很方遍, 望谅解~~
有疑问也可以@我, 大家一起讨论, 一起分享 做大数据开发的日子!

版权声明:原创作品,允许转载,转载时务必以超链接的形式表明出处和作者信息。否则将追究法律责任。来自海牛部落-枫艾,http://hainiubl.com/topics/75318
本帖已被设为精华帖!
本帖由 青牛 于 1周前 置顶
回复数量: 0
    暂无评论~~
    • 请注意单词拼写,以及中英文排版,参考此页
    • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
    • 支持表情,可用Emoji的自动补全, 在输入的时候只需要 ":" 就可以自动提示了 :metal: :point_right: 表情列表 :star: :sparkles:
    • 上传图片, 支持拖拽和剪切板黏贴上传, 格式限制 - jpg, png, gif,教程
    • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
    Ctrl+Enter