【数据蒋堂】第44期:谈谈临时性计算

简介: 临时性计算,顾名思义,是指临时发生的一些计算需求。这种计算在日常数据处理中很常见,我们举一些例子: 应对业务部门的取数需求:比如销售部门想获得进行了某项促销活动前后的销售情况变化信息;数据挖掘算法前的清理准备:将来自各个业务系统的数据(甚至一些企业外部的数据)整理成规则一致的二维表,这些动作常常.

临时性计算,顾名思义,是指临时发生的一些计算需求。这种计算在日常数据处理中很常见,我们举一些例子:

  • 应对业务部门的取数需求比如销售部门想获得进行了某项促销活动前后的销售情况变化信息;
  • 数据挖掘算法前的清理准备将来自各个业务系统的数据(甚至一些企业外部的数据)整理成规则一致的二维表,这些动作常常比挖掘本身耗时还长得多;
  • 有业务规则的测试数据生成测试数据不能完全随机生成,必须满足一定的业务规则以及分布比例;
  • 大数据计算的优化方案实验性能优化是个迭代的过程,需要不断尝试各种计算方案;
  • 非日常(外部)数据的清洗和入库比如有些下级部门提供的Excel表格要写入数据库再进行统计分析;

可以看出,临时性计算具体相当的普遍性。那么,我们是用什么方法来处理这种具有普遍性的计算需求呢?

其实也就是编程序了,常用来对付临时性计算的编程方案有三种:以Java为代表的高级语言、以SQL为代表的数据库语言、以Python为代表的脚本语言。

然后,第二个问题,我们怎么评估这些方法的优劣和适应性呢?

为了回答这个问题,我们要先分析临时性计算的需求特征:

  • 需求随意,不可预测这是临时性计算的基本特征,计算需求时临时产生的,不能事先预测到而做进数据分析系统中,只能临时面对;
  • 经常只做一次,缺乏直接可复用性这也是临时性的特征,做完就完了,没有必要刻意地反复优化,也没必要也不可能事先为计算做准备工作;
  • 大量涉及多样性的原始外部数据很多计算的涉及数据并不在数据库中,比如收集上来的Excel表格,从网上爬下来的文本等,这些数据还常常以原始形式出现;
  • 常常涉及多步骤的过程计算本来分析处理类的运算就会步骤比较多,而数据源的杂乱更会加剧这一现象;
  • 必要时可能转变成日常计算也有些临时性计算可能重复发生,这时就有必要转化成日常计算放进数据分析系统中;
  • 以结构化数据计算为主这一点并非临时性计算特有的,其实数据分析和处理类的计算都是主要面对结构化或即将被结构化的数据。 

从需求的特征出发,我们就可以提出应对临时性计算的方案的技术要求了:

  • 开发快捷:临时性计算随时发生,需要快速解决,所以要注重开发效率,相对来讲,对于运算性能要求会低一些;
  • 人员要求低:临时性计算发生场景很普遍,那么应当尽量降低实施开发人员的要求,而不是总是需要专业的程序员才能做;
  • 环境简单:经常只做一次的事情,要让环境搭建足够简单,如果准备计算环境花费时间超过实施计算本身了,那就得不偿失了;
  • 数据适应面广:计算方案要能方便地面对各种各样的数据源,不要总是需要专门的接口和技术体系,特别地要能处理较大的数据量;
  • 易于集成:要转变成日常计算时,临时写出来的代码最好能够只要简单修改甚至不加修改就能集成到数据分析系统中去。

现在我们按这套技术要求来考查前面提到的三种技术方案,并给评个分(前四项满分10,第五项重要程度低满分5)

1. 以Java为代表的高级语言

c64c38cfe4ec824acd82af50f556cacc7bdc3ed1

2. 以SQL为代表的数据库语言总分:13分

388fef002403125801ec84806bad34e7903a0818
3. 以Python为代表的脚本语言
总分:24分

ea6cecb5953ae607ad4c473aacf2eb55fe31b52f
算下来还是脚本语言相对最好。总分:
30分


原文发布时间为:2018-02-27

本文作者:蒋步星

本文来自云栖社区合作伙伴“数据蒋堂”,了解相关信息可以关注“数据蒋堂”微信公众号

相关文章
|
SQL 数据采集 JSON
使用对比!SLS 数据加工 SPL 与旧版 DSL 场景对照
本文讨论在不同的数据处理需求中,新版数据加工 SPL 与旧版数据加工 DSL 的使用对照。
7747 95
|
弹性计算 固态存储 调度
阿里云服务器选购指南_2024新版CPU内存带宽系统盘选择攻略
阿里云服务器选购指南_2024新版CPU内存带宽系统盘选择攻略,CPU内存、公网带宽和系统盘怎么选择?个人用户选择轻量应用服务器或ECS通用算力型u1云服务器,企业用户选择ECS计算型c7、通用型g7云服务器,阿里云百科分享阿里云服务器配置选择方法
|
算法 C++ UED
QML布局:如何恰当设置间隙与合理布局 (QML Layout: Proper Spacing and Alignment)
QML布局:如何恰当设置间隙与合理布局 (QML Layout: Proper Spacing and Alignment)
2200 0
备案所需要的资料有哪些?
云栖号快速入门:【点击查看更多云产品快速入门】不知道怎么入门?这里分分钟解决新手入门等基础问题,可快速完成产品配置操作! 备案时您需要提交备案主体及相关负责人的证件资料,对应管局会核查您提交的资料是否满足备案要求。
3247 0
备案所需要的资料有哪些?
|
安全 关系型数据库 MySQL
MySQL · 特性分析 · 浅谈 MySQL 5.7 XA 事务改进
关于MySQL XA 事务 MySQL XA 事务通常用于分布式事务处理当中。比如在分库分表的场景下,当遇到一个用户事务跨了多个分区,需要使用XA事务 来完成整个事务的正确的提交和回滚,即保证全局事务的一致性。 XA 事务在分库分表场景的使用 下图是个典型的分库分表场景,前端是一个Proxy后面带若干个MySQL实例,每个实例是一个分区。 假设一个表test定义如下,Proxy根据主键”a
4068 0
|
8天前
|
机器人 API 调度
基于 DMS Dify+Notebook+Airflow 实现 Agent 的一站式开发
本文提出“DMS Dify + Notebook + Airflow”三位一体架构,解决 Dify 在代码执行与定时调度上的局限。通过 Notebook 扩展 Python 环境,Airflow实现任务调度,构建可扩展、可运维的企业级智能 Agent 系统,提升大模型应用的工程化能力。