数据项目,无论是数据分析、可视化,还是数据科学和机器学习相关的项目,通常都非常复杂,涉及多个组成部分,比如代码、数据、运行环境、SQL脚本以及分析报告等;与此同时,随着AI时代的到来,数据科学领域正经历重大变革。这对于数据科学团队来说,如何保持高效地工作模式一直是一个不小的挑战。

  在这样的背景下,协作式、现代化的数据文档(Data Notebook)逐渐成为团队协作中不可或缺的重要工具。像Hex.tech、Deepnote等等这样的平台,已经在团队协作方面做出了许多成功的实践和探索。接下来,我们以阿里云下的DataV Note产品为例,总结一下它是如何帮助数据团队实现高效的工作模式。

一、跨角色协同;跨工具链统一

  我曾在网上看到一张有趣的图片。让人惊讶的是,它竟然十分贴切地描绘出了"BI研发"与"业务人员"之间的关系:

  在常规的分析场景下,业务人员通常会通过“钉钉”或“邮件”等方式,向BI研发团队寻求帮助,请求他们处理并提供一张大宽表或直接可用的表,随后,业务人员便基于这些资料进行自己的分析创作;在一般情况下,如果在处理过程中的表格发现存在字段遗漏或不满足需求的情况,需要进行多轮沟通才能够解决问题。这类工作流程往往涉及多种通讯工具SQL处理平台可视化平台之间的跨越,这不仅降低了公司各部门间合作的效率,也加剧了沟通上的困难,这些挑战极其值得我们深入思考。

  然而,通过使用DataV Note,可以很好地解决这一系列协同问题:

  • 协同分析在数据驱动的公司中,通常会有多种角色参与到数据的处理和分析中,如:BI研发工程师、算法工程师和业务专家等,最合理和高效的协作方式是让所有的人员能够紧密地参与到数据分析的整个过程中。
  • 异构数据源自定义处理分析异构数据源通过 SQL 拉取数据直接产出 Python 可用变量,原生支持 Pandas,Numpy 等数据科学分析库,支持精细复杂的数据自定义处理和进一步的机器学习算法延伸分析,不止于 SQL
  • 多语言支持鉴于公司内不同岗位对技术栈的熟悉程度存在差异,我们期望能够在尽可能降低研发成本的同时,能免去各种复杂研发环境的配置。在数据分析领域中,SQLPython语言无疑是使用频率最高的,由于基于Jupyter进行研发,我们有能力并且很容易扩展对包括R、Julia、Clojure、Scala在内的其他热门编程语言的支持。
  • 高效沟通我们的愿景是尽量促使所有人聚集在一起共同创作,从而能够在遇到任何问题时立刻进行反馈和评议,确保所有协作者之间可以迅速做出响应。

二、为数据项目和数据团队创建知识库

  “数据集”、“图表”、“报表/应用”是数据分析的中间产物,它们通常是为解决特定业务问题或支持决策过程而创建。如果单独存在,而脱离了它们创建时的业务分析场景,可能会存在以下问题:

  • 数据集基于特定业务场景通过执行 SQL 语句获得的结果集合。然而,如果这些数据集与其分析上下文分离,它们与上下游相关联数据的血缘(lineage)关系可能变得模糊不清,这将导致数据集变得难以解读和应用。
  • 图表数据集可视化的形式。如果图表脱离了数据集和业务分析,缺失与数据集间的映射关系和二次加工的逻辑,该图表可能无法有效传达所需信息从而失去意义。
  • 报表/应用集成和展示一系列图表和数据的产物。如果它们与业务分析流程分离被独立存储,当要修改某项业务指标时,追溯流程过于繁琐,更新维护变得很困难。

综上所述,为了最大限度地提高数据分析成果的价值,有必要确保数据集、图表、报表和应用与其原始的业务分析场景保持紧密关联。所以,无论是某个场景的整体分析过程还是分析结果的报告,都是作为公司知识库的内容沉淀,会是一种比较理想的方式。

三、实现可重现和可回溯的数据科学过程

  经过调研,我们发现基于Jupyter的Notebook形式进行分析,用户可以清晰地记录分析过程中的所有步骤,更容易地理解和追溯原始分析的上下文和结果分析。它遵循的设计理念是单元格(如下图的SQL、过滤器、图表)作为最小逻辑单元,可以用于数据加工处理,展示分析结果等,整体的分析流程由各个单元格自上而下组合而成,上游的单元格输出可被下游的单元格作为输入引用。但它本身没有内建直观表示复杂依赖的功能,这会导致复杂的分析过程中,难以看清上下游单元格的依赖关系。

  因此,采用Notebook形式展示分析过程与数据流(DAG)的形式展示各个单元格之间的依赖关系相结合的理念进行设计是一个不错的选择。

  在编辑态中的工作模式是以报告形式来体现整体的分析过程;在构建发布态的过程中会筛选过程中的一些关键特征,将其提取出来并重新编排,以便形成最终的发布状态。无论处于编辑状态的分析过程,还是最终发布状态的成果,两者都能够成为公司宝贵的知识资源

四、一键分享报告,以促进组织内的数据驱动决策

  最后,当您完成了详尽的数据分析过程之后,还需将结果以直观且吸引人的方式呈现,例如PPT、报告或面板等,以便进行汇报。我们为此提供了丰富的定制化功能,包括主题选择布局调整样式优化水印添加等,确保您的展示材料既专业又美观。与此同时,我们还支持导出为PngPdfWord格式,并可通过钉钉微信邮件轻松分享,满足多样化的汇报需求。

五、大模型AI驱动,未来可期

  1. AI智能绘图:系统将自动识别表中每个字段的数据类型,并根据抽样数据的特征智能推荐最适合的数据可视化图表

如:绘制不同类型店铺在各个季度的总毛利的趋势折线图。

  1. AI智能总结、探索:大模型通过波动分析、分布分析、异常识别、相关性分析和数据对比等多种手段,对特定数据集进行深入模拟,从而挖掘出有价值的信息

如:探究不同店铺风格、所在地区以及所售卖的商品类型对于整体业绩表现(即销售额与利润率)的具体影响程度。

  1. NLP2SQL(自然语言生成SQL):业务人员可一键生成SQL并进行取数、聚合

如:查询东南区的销售情况。

  1. NLP2Python(自然语言生成Python):相比于SQL,Python代码具有更高的灵活性,通过 Python 代码可以生成算法预测和归因分析模块

如:对result_1的数据集中的“东南区”的销售情况总结并进行归因分析

  同时,基于数据的智能报告AutoReport终极功能也是作了相应的尝试,它能基于自然语言一键分析结构化数据并自动生成详尽的分析报告。智能报告不仅为分析师们提供了宝贵的洞察视角,还极大地缩短了数据分析周期,有效节约了人力资源。

数据团队必读:智能数据分析文档(DataV Note)五种高效工作模式的更多相关文章

  1. ABBYY FineReader 15新增智能PDF文档转换功能

    ABBYY FineReader 15(Windows系统)新增智能PDF文档转换功能,可自动检测导入PDF数字文档的文本层质量,确保转变为可编辑格式后的准确结果:从表单字段和文本框中提取文本,准确保 ...

  2. 从多个XML文档中读取数据用于显示webapi帮助文档

    前言: 你先得知道HelpPageConfig文件,不知道说明你现在不需要这个,所以下文就不用看了,等知道了再看也不急.当然如果你很知道这个,下文也不用看了,因为你会了. 方法一: new XmlDo ...

  3. jQuery+turn.js翻书、文档和杂志3种特效演示

    很好用的一款插件jQuery+turn.js翻书.文档和杂志3种特效演示 在线预览 下载地址 实例代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML ...

  4. 为何在有 DOCTYPE 的 HTML 文档之上仍然还会出现混杂模式?

    不使用 DOCTYPE 一定会使 HTML 文档处于混杂模式,然而使用了 DOCTYPE,也不一定就能够使文档在所有浏览器中均处于标准模式. DOCTYPE 本身不就是一个“开关”吗?为何在有 DOC ...

  5. 团队作业:SRS文档-飞机大战

    本实验为团队合作项目作业的一部分:SRS文档-飞机大战 项目分工:SRS文档项目为梁JM负责完成 实验要求: 3.SRS文档(第二周,截止5月31日)              要求对所选项目进行用例 ...

  6. Storm项目:流数据监控1《设计文档…

    博客公告: (1)本博客全部博客文章搬迁至<博客虫>http://blogchong.com/ (2)文章相应的源代码下载链接參考博客虫站点首页的"代码GIT". (3 ...

  7. [Swift通天遁地]七、数据与安全-(1)XML文档的创建和解析

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  8. matlab将数据读取和写入txt文档

    原文链接 matlab中打开文件 fid = fopen(文件名,‘打开方式’): 说明:fid用于存储文件句柄值,如果fid>0,这说明文件打开成功. 另外,在这些字符串后添加一个“t”,如‘ ...

  9. 从隔壁兄弟那爬点网页数据,整理成word文档

    package com.parse_report; import com.report.utils.ParseUrl; /** * Create by JIUN 2018/7/14 */ public ...

  10. 一个非常适合IT团队的在线API文档、技术文档工具 (ShowDoc)

    在逸橙呆了不到两年,开发时后端都有开发接口API,来到数库,好多后端开发和前端沟通是还是发doc文档,很不方便,我向cto反应,自己找到这个,老乡田雷(php,隔壁村的)也用过,可能某些原因选择其他的 ...

随机推荐

  1. 【返回值】定义泛型JSON

    /** * 定义统一的Json结构 * 由于封装的Json数据的类型不确定,所以在定义统一的json结构时,我们需要用到泛型. * 统一的json结构中属性包括:数据.状态码.提示信息即可. * 构造 ...

  2. 【快慢指针】LeetCode 143. 重排链表

    题解 用快慢指针先找到中间结点,然后断开前后两条链,用头插法的思路逆转后面那条链,最后两条链依次从前往后遍历插入即可. 参考代码 /** * Definition for singly-linked ...

  3. eShopOnContainer 中 Grpc 服务定义与实现

    eShopOnContainer 中 Grpc 服务定义与实现 服务于前端的后端 (BFF) 模式是 API 网关模式的一种变形,针对外部使用者的不同需求,为每种不同的客户端使用者提供一种后端 API ...

  4. .NET 9 New features-AOT相关的改进

    上一篇文章给大家介绍了 .NET 9 New features-JSON序列化 本篇文章,研究分享一下关于AOT方面的改进 1. 什么是AOT AOT(Ahead-of-Time)编译是一种在应用程序 ...

  5. [Java]多个参数的非空判断,不要再使用多个if挨个判断了!(多参数非空判断技巧)

    先上示例代码: if (StringUtils.isAnyBlank(form, to, subject, content)) { log.error("发送人,接收人,主题,内容均不可为空 ...

  6. 【C#】【报错解决】分析器错误消息: 无法识别的属性“targetFramework”。请注意属性名称区分大小写。

    服务器:Windows Server 数据中心 2016 问题描述: 在本地测试正常运行,但是上传到服务器却出现该错误 报错: 分析器错误消息: 无法识别的属性"targetFramewor ...

  7. java - 正则表达式替换Spring @RequestMapping URL中的@PathVariable值

    我在接口(只是为了保存常量)中有Spring MVC URL的定义,例如: String URL_X = "/my-url/{id:[0-9]*}"; String URL_Y = ...

  8. Timestamp和LocalDateTime 互转

    jdk:1.81.Timestamp 转 LocalDateTime Timestamp time = Timestamp.from(Instant.now());LocalDateTime loca ...

  9. Qt编写机器码秘钥控制/日期防篡改/离线使用/硬件标识/运行时间/数量控制/批量更新秘钥

    一.前言说明 搞软件开发一直追求精益求精的目标,从第一版的秘钥生成器到今天这个版本,经历了十年的时间,最初的版本做的非常简陋,就是搞了个异或加密,控制运行时间,后面又增加设备数量的控制,然后就是到期时 ...

  10. 如何使用图片的exif信息计算相机焦距

    135胶卷源于35mm高度的打孔电影胶片,1913年,德国人奥斯卡·巴纳克将其用于他发明的徕卡(Leica)牌小型照相机上,由此形成标准.35mm电影胶卷,35mm指的是胶卷的高度为35mm,由于上下 ...