最近在Quora上的一次讨论,程序员分享了他们认为工作中最大的困难。其中排名第二的是:“写测试任务描述“。小姐姐很疑惑了,最难的难道不是写代码吗?写测试有什么难的呢?
数据研发也好,软件开发也好,其实大型任务通常是很复杂的,包含了成千上万行代码,其中数不清的交互接口、路径和逻辑;而要把每一个细节都检查确定结果无误后再提交代码其实是一件很困难的事情。因此某些开发方会鼓励开发GG们在编写程序之前就写好测试脚本。但是这无疑是一件枯燥乏味且耗时耗力的事情。
https://img.alicdn.com/tfs/TB1wZQjueT2gK0jSZFvXXXnFXXa-168-168.png
有没有什么办法可以让代码在本地快捷测试,测试全部通过再发布线上进行调度呢?如果发布了错误的脚本任务上线,会导致我线上的数据库受影响吗?
同学们,Dataphin给我们指了一条光明大道!
Dataphin支持本地数据调试、线上模拟测试,保障上线任务正确性
示例1、Dataphin·实时计算本地采样调试功能
对于每一个实时计算任务,我们支持对所用的表进行采样数据。
可以采样本地数据进行调试,不会影响到线上数据表,安全高效测试;同时我们支持算子调试,即无需采样数据的调试方法。调试完成后,可以看到调试的中间结果和调试结果,待调试完毕,可以提交该任务。随写随调,让任务开发安全有保障,上线任务更放心!
https://img.alicdn.com/tfs/TB1b_Emui_1gK0jSZFqXXcpaXXa-1033-683.png
https://img.alicdn.com/tfs/TB1ok7kuoT1gK0jSZFrXXcNCXXa-1172-449.png
https://img.alicdn.com/tfs/TB1AoEkuhn1gK0jSZKPXXXvUXXa-1148-412.png
示例2、Dataphin·实时计算测试实例功能
除了本地数据的调试功能,我们还引进了全链路的测试功能。提交实时计算任务,在正式发布生产环境之前,可以在开发环境启动测试实例。我们支持两种测试方式:打印日志、写测试表;轻松掌控自己写的任务会对线上造成的影响。
https://img.alicdn.com/tfs/TB1g.QjuhD1gK0jSZFsXXbldVXa-1470-914.png
打印日志的方式相对简单,无需引入额外成本。且可以非常直观地看到输出结果。可以被独立地测试与验证,适用于快速验证实时代码加工逻辑正确性的场景。推荐实时任务正式发布前先经过打印日志的测试。
https://img.alicdn.com/tfs/TB14p7kukL0gK0jSZFtXXXQCXXa-1186-772.png
打印日志的方式虽然可以发现实时任务的大多数问题,但是对于易购系统链路是否畅通,写入目标数据库系统时是否会因为设置、权限等问题报错,输出值是否能匹配到目标系统等问题,还需要通过写表的方式进行验证。因此我们提供了第二种方式,写测试表。
https://img.alicdn.com/tfs/TB10MZkuXP7gK0jSZFjXXc5aXXa-1176-988.png
建议在使用打印日志的方式验证整体链路逻辑正确性后,再使用写测试表的方式验证输出结果与目标数据库的匹配问题。
Dataphin支持一站式开发和运维,简化全流程
写任务当然不是简单的脚本查询就够了!我如何能做到统一的任务管理、资源管理、运维监控等等一系列的事情呢?我想让所有数据资产化,函数资源可复用,任务可以周期定时触发,且有的指标可以实时计算,怎么去实现呢?选择Dataphin·通用研发,帮你实现从规划到开发、运维的一系列需求!
1、实时计算元表功能模块,统一创建、管理元表,简化了任务研发过程中的DDL过程,组件化配置数据表,让开发过程更加便捷高效。
https://img.alicdn.com/tfs/TB1xg.kuhz1gK0jSZSgXXavwpXa-1470-946.png
2、函数、资源统一管理,可在代码任务中引用,平台化可多次复用。
https://img.alicdn.com/tfs/TB1AaElulv0gK0jSZKbXXbK2FXa-644-852.png
https://img.alicdn.com/tfs/TB1A3AouoY1gK0jSZFCXXcwqXXa-770-842.png
3、实时计算代码模板化,有利于不同业务需求间的代码复用。
https://img.alicdn.com/tfs/TB1k8ckuoT1gK0jSZFrXXcNCXXa-1470-1046.png
4、脚本任务提交发布调度,生成周期调度的任务,可进行定期触发,统一运维,监控报警等。
https://img.alicdn.com/tfs/TB1hRZpubj1gK0jSZFuXXcrHpXa-1470-916.png
小姐姐已经被Dataphin圈粉了,满脑子都是,OMG,用它!
————————————————————————————————————————————————————————————————————
阿里巴巴数据中台团队,致力于输出阿里云数据智能的最佳实践,助力每个企业建设自己的数据中台,进而共同实现新时代下的智能商业!
阿里巴巴数据中台解决方案,核心产品:
· Dataphin,以阿里巴巴大数据核心方法论OneData为内核驱动,提供一站式数据构建与管理能力;
· Quick BI,集阿里巴巴数据分析经验沉淀,提供一站式数据分析与展现能力;
· Quick Audience,集阿里巴巴消费者洞察及营销经验,提供一站式人群圈选、洞察及营销投放能力,连接阿里巴巴商业,实现用户增长。
欢迎志同道合者一起成长!