浅谈-大数据工程师面临的困境和要学习的技术

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
DataWorks Serverless资源组免费试用套餐,300CU*H 3个月
简介: 读书的时候,语文老师总会让同学看看作者的生平简介,谈谈作者为什么会写出这篇文章,文章诞生的背景是什么背景,一方面是让同学理解文章,另外一方面是让同学感同身受。鄙人,不是大厂,也不算外包,算是靠在阿里系的一家创业公司的交付部门的小小大数据工程师,心比天高,命比纸薄。当然,也和上学没有好好学习有关系,怨不得其他人。回到正题,咋们先从我的个人经历聊一下大数据工程师现在面临的困境和我的一些解决思路。

读书的时候,语文老师总会让同学看看作者的生平简介,谈谈作者为什么会写出这篇文章,文章诞生的背景是什么背景,一方面是让同学理解文章,另外一方面是让同学感同身受。

鄙人,不是大厂,也不算外包,算是靠在阿里系的一家创业公司的交付部门的小小大数据工程师,心比天高,命比纸薄。

当然,也和上学没有好好学习有关系,怨不得其他人。

回到正题,咋们先从我的个人经历聊一下大数据工程师现在面临的困境和我的一些解决思路。

数据的不整齐

什么是数据的不整齐,这是我自己定义的一个概念,将不符合数据质量以及元数据模糊的数据定义为不整齐的数据。

当我刚开始工作的时候,需要抽出数据用quickbi做一个bi看板,整体的逻辑相对来说很简单,根据商品名称的维度,日周月的维度划分出不同粒度的销售金额,退款金额等数据。

听起来很容易,可到了正式实践的时候,发现问题来了。

数据提供方根本没有办法提供需要的数据,就说商品金额和商品名称,没有对应的商品信息维表,订单中存储的商品名称会根据活动的不同增加不同的前缀,商品的金额也会因为优惠的波动而波动,不要说算roi,就按百分比算个成本价,一个商品可以出四五个不同的成本价,更不要说还有0的数据。

当时我和其他同事拟定,选取订单中价格最小,但不是0的数据作为商品本身的价格,暂时将bi做了出来,不过真的有人在用吗?

至于元数据的模糊,这个问题是大数据绕不开的问题,就单说订单表中商品数量一个字段,这里的商品数量指的是一个订单的购买的总的商品数量,还是一个订单下一个商品的购买数量?

最近在看一本叫dama数据管理的书,里面有一大章专门讲元数据治理,感觉要想解决这个问题,必须是公司内有一个领导可以拍板说做数据治理,才能解决这个问题,不然越往后,治理难度会更大。

也可能是我目前接触过的业务仅仅是零售行业,感觉行业内的数据有点一拍脑门的感觉,金额数据中写“按照第一季度金额走”,字段写的是coupon_id,注释里面写的是项目id,前者看到的时候除了暂时用rlike匹配正则把数据清除掉,只能跟产品反映,产品再跟对接人反映,对接人再跟业务反映;后者更是找不到对应的负责人,只能自己看数据确定关联关系。

这就引出了新的问题-业务还是数据?

业务的刁难

业务是永远的痛。

数据本身是没有价值的,这句话在零售行业一点也没有出错,零售的大数据想创造价值,那必须是和业务紧密对接,而我目前处理的需求,也基本上都是业务的需求。

可业务需要什么样的数据呢?业务本身知道,但是他们不会主动将自己的想法说出来,而是需要技术来揣摩,接触的久了,就不会发现不了,如果不是有了固定模板的数据,业务需要的数据其实只是看起来正常的数据。

比如,我去年关注小程序的用户是一千万,那明年关注小程序的用户是十万,这数据肯定就不对,这个时候就需要技术来查,是不是计算逻辑出了问题,最后查到是不是源数据里面没有数据。

这个故事听起来还算靠谱,但有时候需求真的过分不合理,开发一张大屏,临近尾声,节点都已经从开发提交到生产,忽然提出质疑,这里的数据不对,一查,是数据源是刚上线不久,之前的数据都是线下数据。

但也不可否认,业务确实在督促技术进步。

技术的进步

从业务督促我进步的例子举几个,首先我接触的数据基本都在dataworks,而业务很多时候都需要抽出超过一万条的数据,我去之前,其他同事都是导出到oss,再从oss下载,可为了偷懒,当然也是在官方文档看多了,我用idea配置conf,就可以在idea搭建一个maxcomputer studio,直接下载数据,避免二次导出。

再比如,有一张表里面的数据,如果有两个不同的维度,而这两个维度还互不相干,应该如何分组呢?

写两个sql吗?或者抽明细数据在数据集等看板里面再聚合?

也是在那个时候,我学会了cube,roullup和grouping up,简单的sql处理就可以实现复杂的逻辑。

业务发现问题会来和产品唠嗑,产品又会找我唠嗑,为了提前他们发现问题,学会使用dataworks的强弱规则,真的没有话说,每天早上起来看一眼短信就可以,尤其是针对递增的数据,同周期的波动率让我更快一步。

当然,还有的需求,需要将错误数据抽离出来,dataworks自己带的python节点,利用opds配合钉钉机器人,每天将错误信息打包成markdown格式报给业务。

技术的局限

不知道有没有人看到这里,如果看了上面,不难发现,我的每天工作似乎都在dataworks上,我承认这上面的东西很多,数据集成,离线开发,实时开发,hologres,function studio,数不清的好东西,可权限就那么多,我甚至连hologres的权限都没有。

每天做的更多的是odps离线的开发,最开始还好,技术的成长很快,但几个月后,sql的基本能力就到了瓶颈期,没有大的项目,很难再有突破。

最让我难受的是,一次和业务沟通,业务忽然问我,为什么用trino,而不是使用implama,我感觉自己如果再这么下去,很可能真的一辈子是个sqlboy,三十岁前可能就得找个零售行业干业务了。

我不能接受这样的我,那应该怎么学习呢?

自我的进步

首先是发掘目前使用的工具的潜能,就拿dataworks来说,进不去function studio,我就进idea,在idea开发自定义函数,从最简单的udf到后面的udtf和udaf,再到mapreduce。

传统的sql写腻歪了,那我就尝试sql组件节点,尝试赋值节点和分支节点。

再就是学习阿里的训练营和定期的活动,都说人需要好的反馈来刺激自己继续努力,没有比这些小活动更好的激励方式,而且千万不要认为学习的东西是没有用的,触类旁通的道理武侠小说里面都有写。

就拿我最近正在看的polardb,polardbx和polardb for postgre的课程来说,我从里面看到了数据库ap查询和tp查询的区别,理解大数据的存储大多都以列存储是为了更好的压缩和查询,掌握了docker的部分知识,自己去思考数据库和大数据的本质区别。

干活可能没有那么多,但是希望诸君共勉。



相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
19天前
|
分布式计算 搜索推荐 物联网
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
|
21天前
|
存储 人工智能 算法
AI与大数据的结合:案例分析与技术探讨
【8月更文挑战第22天】AI与大数据的结合为各行各业带来了前所未有的机遇和挑战。通过具体案例分析可以看出,AI与大数据在电商、智能驾驶、医疗等领域的应用已经取得了显著成效。未来,随着技术的不断进步和应用场景的不断拓展,AI与大数据的结合将继续推动各行业的创新与变革。
|
1月前
|
消息中间件 监控 大数据
"探索Streaming技术:如何重塑大数据未来,实时处理引领数据价值即时转化新纪元"
【8月更文挑战第10天】信息技术高速发展,数据成为推动社会进步的关键。面对数据爆炸,高效实时处理成挑战。流处理(Streaming)技术应运而生,即时处理数据流,无需积累。应用于实时监控、日志分析等场景。例如,电商平台利用流处理分析用户行为,推送个性化推荐;智能交通系统预测拥堵。结合Apache Kafka和Flink,实现从数据收集到复杂流处理的全过程。流处理技术促进数据即时价值挖掘,与AI、云计算融合,引领大数据未来发展。
65 5
|
11天前
|
大数据 数据处理 分布式计算
JSF 逆袭大数据江湖!看前端框架如何挑战数据处理极限?揭秘这场技术与勇气的较量!
【8月更文挑战第31天】在信息爆炸时代,大数据已成为企业和政府决策的关键。JavaServer Faces(JSF)作为标准的 Java Web 框架,如何与大数据技术结合,高效处理大规模数据集?本文探讨大数据的挑战与机遇,介绍 JSF 与 Hadoop、Apache Spark 等技术的融合,展示其实现高效数据存储和处理的潜力,并提供示例代码,助您构建强大的大数据系统。
21 0
|
2月前
|
机器学习/深度学习 存储 分布式计算
驾驭数据洪流:大数据处理的技术与应用
大数据处理不仅是信息技术领域的一个热门话题,也是推动各行各业创新和发展的重要力量。随着技术的进步和社会需求的变化,大数据处理将继续发挥其核心作用,为企业创造更多的商业价值和社会贡献。未来,大数据处理将更加注重智能化、实时性和安全性,以应对不断增长的数据挑战。
|
2月前
|
传感器 大数据 数据处理
大数据处理中的流计算技术:实现实时数据处理与分析
【7月更文挑战第30天】随着分布式系统、云原生技术、数据安全与隐私保护技术的不断发展,流计算技术将在更多领域得到应用和推广,为大数据处理和分析提供更加高效、智能的解决方案。
|
21天前
|
SQL 存储 分布式计算
神龙大数据加速引擎MRACC问题之RDMA技术帮助大数据分布式计算优化如何解决
神龙大数据加速引擎MRACC问题之RDMA技术帮助大数据分布式计算优化如何解决
17 0
|
23天前
|
SQL 分布式计算 大数据
"揭秘MaxCompute大数据秘术:如何用切片技术在数据海洋中精准打捞?"
【8月更文挑战第20天】在大数据领域,MaxCompute(曾名ODPS)作为阿里集团自主研发的服务,提供强大、可靠且易用的大数据处理平台。数据切片是其提升处理效率的关键技术之一,它通过将数据集分割为小块来优化处理流程。使用MaxCompute进行切片可显著提高查询性能、支持并行处理、简化数据管理并增强灵活性。例如,可通过SQL按时间或其他维度对数据进行切片。此外,MaxCompute还支持高级切片技术如分区表和分桶表等,进一步加速数据处理速度。掌握这些技术有助于高效应对大数据挑战。
40 0
|
2月前
|
机器学习/深度学习 人工智能 数据可视化
大数据时代的数据可视化技术:趋势、挑战与未来展望
【7月更文挑战第22天】随着技术的不断进步和应用场景的不断拓展,数据可视化技术将在更多领域发挥更大的作用。未来,我们可以期待更加智能化、实时化、沉浸式和民主化的数据可视化解决方案的出现。同时,随着数据量的不断增加和数据类型的不断丰富,数据可视化技术也将面临更多的挑战和机遇。只有不断创新和优化技术才能满足日益增长的需求并推动数据可视化技术的持续发展。
|
1月前
|
SQL 开发框架 大数据
【数据挖掘】顺丰科技2022年秋招大数据挖掘与分析工程师笔试题
顺丰科技2022年秋招大数据挖掘与分析工程师笔试题解析,涵盖了多领域选择题和编程题,包括动态规划、数据库封锁协议、概率论、SQL、排序算法等知识点。
50 0

热门文章

最新文章