Skip to content

数据科学

HENGSHI Sense 提供了自助式数据处理工作,可完成数据清洗、转换、合并功能,但是对于数据科学家来说,他们更习惯自己编写代码进行数据处理。 为了满足数据科学家的需求,HENGSHI Sense 提供了数据科学模块,支持数据科学家使用 Python、SQL 编写和运行代码, 实现数据清洗、数据探索、数据建模、机器学习、数据可视化等数据处理工作。

数据科学是一个开放空间,对拥有数据管理角色的用户开放。用户可以创建笔记、执行笔记、查看笔记运行结果,也可以编辑和运行其他用户创建的笔记。

笔记

笔记是数据科学任务运行的基本单位,每个“笔记”相互独立。 笔记中包括段落(编写的代码)、执行计划、运行环境设置等。

笔记工作流程大概为:创建笔记->设置笔记运行环境->创建段落,编写代码,实现数据处理功能->执行笔记,查看运行结果。

下面通过示例了解笔记工作的大概流程。

笔记示例

  1. 在数据科学模块中,点击创建笔记,输入笔记名称,完成笔记创建。

  2. 在笔记页面中,点击设置进入运行环境设置页面,添加代码运行需要的数据连接和事务提交方式,如图所示。

  3. 点击“+”号新建段落,选择语言、运行环境和默认 Schema。

  4. 在段落中编写代码,测试执行检验运行结果,也可以点击提交执行

  5. 参照步骤3、4,创建其他段落。 当所有段落都创建后,可点击全部执行手动执行笔记,也可以根据需要设置执行计划,在指定时间执行。

上述示例简单地介绍了笔记工作流程,下面详细介绍数据科学笔记的各种概念和常用操作。

段落

段落是数据科学中实现数据处理功能的最小单位,每个笔记可由一个或多个段落组成。段落支持新建、配置、编辑、删除、执行等操作。

新建和删除

新建段落包括新建空白段落和上传文件两种方式。

  • 新建空白段落: 点击“+”号可以新增一个空白段落,用户自己编写代码。

  • 上传文本文件: 点击上传文件图标可以将文本文件上传到段落中。

段落废弃时可以点击右侧的删除按钮来删除。

配置段落

配置段落包括配置语言、运行环境和默认执行路径 Schema。

  • 语言: 指段落中使用的脚本语言,包括 SQL 和 PYTHON。同一笔记支持多种语言编写的段落同时构建。

    • SQL:使 SQL 语言编写代码。 要求代码符合所选连接类型的语法要求。
    • Python:使用 Python 语言编写代码。 可用于数据分析高级需求,如数据的深度挖掘和加工,机器学习建模等场景。
      • 支持 Python 编写段落。
      • 提供内置封装的函数,高效获取指定的数据连接。 目前暂时只支持 MySQL、Oracle、PostgreSQL、SQL Server、Hive 数据库。
      • 默认支持 Pandas、scikit-learn 等主流数据分析和机器学习库,其他库可由客户 DBA 自行安装扩展。
  • 运行环境:指当前笔记运行的环境,从笔记设置中的有效的连接列表进行选择。

  • 默认 Schema:指在段落中不指定 Schema 时默认使用的 Schema,是段落执行的具体路径。

编辑段落

段落可直接进行编辑,也可点击右侧的打开按钮在全屏模式下编辑。 全屏模式展示了运行环境下所有 table 及其字段名称,方便用户编写代码及调试。

段落执行

段落的代码编写完成后,需要进行执行,查看运行结果。 段落支持测试执行和提交执行。

  • 测试执行

    测试执行是运行代码,查看代码结果是否正确,不会将结果提交到数据库。 Python 语言的段落不支持事务回滚,所以没有测试执行功能。

  • 提交执行 提交执行是运行代码并将代码执行结果直接提交到数据库中。

测试执行和提交执行都会展示预览结果和执行日记。

  • 预览结果

    预览结果只针对 SQL 语言的段落,当代码中包含 show、select 等标准输出语句时,会在预览结果中展示相应输出信息,其他情况预览结果页面无数据展示。

  • 执行日记

    执行日记显示了段落运行情况,可协助用户进行段落调试和问题定位。

笔记设置

笔记设置包括运行环境设置和运行时事务提交设置。

运行环境

运行环境是指运行段落使用的数据连接。 点击添加按钮,在弹出的数据连接页面中选择需要的数据连接,数据连接会显示在授权链接列表中。

如果对连接有 RW 权限,连接状态显示有效,否则连接状态为无效。

  • 授权

    在授权连接列表中,打开一个连接的三点菜单,选择授权,可以将该连接授权给数据科学的所有用户,数据科学的所有用户都可以使用该连接运行笔记,不管该用户是否有 RW 权限。

  • 取消授权

    授权之后,所有用户都可以执行笔记,从而会有数据泄漏的危险,如果用户不想授权给其他用户,可以在每次执行完笔记之后,取消授权,这样其他用户就无法使用该连接执行笔记了。点击取消授权之后,连接状态变为无效,任何用户都无法使用该连接了。

  • 删除

    在授权连接列表中,打开一个连接的三点菜单,选择删除,该连接从授权连接列表中消失。 如果有段落使用该连接,删除时会报错并给出提示信息。

事务提交

笔记运行时可设置整体提交事务和分段落提交事务两种方式。

  • 整体提交事务

    笔记运行时所有段落会作为一个事务提交,如果有一个段落失败,则全部段落都回滚。

  • 分段落提交事务

    笔记运行时,每个段落会作为一个事务提交,如果有某个段落失败,则只回滚该段落,其他事务正常执行和提交。

执行

笔记中段落编写完成后,需要进行执行。 每个段落可以单独执行,也可和笔记一起执行。 笔记执行包括全部执行和执行计划。

全部执行

全部执行即手动执行,点击该按钮会执行当前笔记中所有段落,执行结果会提交到数据库中。

执行计划

除了手动执行外,笔记可设置执行计划,按照设定计划运行。 点击右上角的执行计划,进入执行计划设置页面,设置计划的基本信息、调度信息、告警信息。

  • 基本信息:设置执行时失败重试次数及任务的优先级。
  • 调度信息:
    • 设置任务的调度时间,可设置多个调度时间。
    • 设置任务的前置依赖,可设置多个前置依赖任务。
    • 设置依赖等待时间。
  • 告警信息:开启失败告警,当任务执行失败后,会以邮件形式通知到收件人。

笔记设定执行计划后,可在任务管理中查看执行情况。

衡石分析平台使用手册