Notebook开发

Notebook开发主要包含以下方面,新建作业、运行作业、查看日志、周期调度、任务运维、模型部署等。

Notebook模板

算法开发NotebookNotebook演示文件夹下,系统预置了LRRandomForestSVMKmeans等预置实验,可参照预置的代码作业开始建模之旅。

  • 运行预置Notebook *

预置Notebook可进行运行、提交、查看运行日志、查看执行结果,了解算法建模的常用操作;

  • 编辑/删除预置Notebook *

右键点击某作业编辑操作,可进行Notebook作业的任务名称、任务描述、存储位置修改;点击删除,可删除预置作业;

新建Notebook作业

  • 新建Notebook作业

在数据科学算法开发导航模块下的Notebook菜单中,可点击新建Notebook图标,展开 新建弹框,或者右键点击文件夹,在该文件夹下新建Notebook。填写项说明:

2020 10 15 14 39 32
  1. Notebook名称:只支持字母、数字、下划线,不超过32个字符;

  2. 存储位置:选择任务放置的文件夹。文件夹支持新增,可点击左侧任务列表上方的新建文件夹图标,新建文件夹;

  3. Notebook描述:填写Notebook任务描述,不超过64个字符;

  4. 任务类型:数据科学目前支持Python3、Pyspark任务类型,且任务支持2种开发模式,WEB编辑模式与资源上传模式。

  5. 开发模式:WEB编辑模式,指在产品编辑器内编辑代码进行任务实现。资源上传模式,指将已编写好的资源上传至平台上,在平台上运行任务。

    1. WEB编辑模式:WEB编辑模式指直接可在算法平台WEB编辑器上编写代码,支持关键词高亮、语法提示等,代码编写完成后,可进行任务运行,查看运行结果。

    2. 资源上传模式:资源上传模式指可将本地代码上传至算法开发平台,在算法开发平台进行任务管理和运行。

      • 资源类型: 支持上传.py和.zip两种类型资源,若为Python工程,可打成zip包进行上传。

      • 命令行参数:若本地文件中有动态参数需要替换,可填写命令行参数,支持常量参数与动态参数,动态参数如”任务运行时间:${bdp.system.runtime}”、“ 任务计划时间:${bdp.system.cyctime}”、“业务日期:${bdp.system.bizdate}”等,更多参数详见任务参数说明,任务运行时,系统会自动进行实际参数替换。若采用该模式需现在资源管理中上传资源文件。

        • 编辑Notebook作业

Notebook目前支持Python3、Pyspark代码编写,则在编辑器中按照Python语法进行代码编写。
编写过程中,若需定义系统参数或自定义 参数,可在右侧面板任务参数中进行定义。若需修改环境参数,可在右侧面板环境参数中进行定义。
代码编辑器支持关键字的查询、替换、命令面板中查看快捷键。
代码编辑完成后,可进行代码运行、查看运行日志和结果。

2020 10 15 14 40 00
  • 配置任务调度属性

算法开发平台提供了丰富的时间周期和依赖关系支持,支持分钟、小时、天、周、月的任务跑批和模型训练,并支持跨周期依赖,详见模型训练章节
若需配置任务的调度属性,打开右侧调度周期面板,进行调度周期、生效时间、跨周期依赖方式的配置。<br />任务编写完成,并配置好调度属性、任务参数后,可进行作业提交模型部署

  • 任务间Import

在算法任务中,会有从另一个代码或者算法包中引用某个方法过来的场景,通过在某任务的右侧面板中任务参数-模块间引用该模块下配置需要引入的任务,然后该任务的代码引用相应的任务名称即可。

2021 09 30 15 11 59

运行Notebook作业

算法建模代码完成后,可进行任务运行,验证代码编写逻辑。
算法开发目前提供2种方式使任务中的代码对数据生效,页面直接运行、系统根据调度配置自动周期运行。
页面直接运行适用于即时查询,验证代码编写逻辑。+ 系统周期运行适用于代码逻辑已经过验证,进行定时的算法任务跑批或模型训练。+ 下面重点说明页面直接运行的场景,系统自动周期运行运维中心中 具体介绍。

  • 页面直接运行

打开需要运行的任务,在操作区单击运行按钮进行触发任务运行,在平台侧的WEB编辑区域不支持分段运行代码,运行即运行整个代码。若需要分段运行代码 ,可启动Jupyter Lab,创建Python、Pyspark等任务,进行交互式查询。

  • 查看运行日志

任务开始运行后,编辑器下方会弹出运行日志面板,可查看具体运行日志,了解任务运行进度。
无论运行几次,日志页只有一个,仅显示最近一次触发运行日志的信息,之前的日志会被覆盖掉。

  • 查看运行结果

若有语句的运行结果返回了数据结果集,会出现执行结果,可在执行结果中查看代码运行结果。
由于在平台内的编辑中,Python与Pyspark代码都是整段运行,则执行结果页只有一个,算法模型输出将显示在执行结果页中。

Notebook作业提交

代码编辑完成,并配置好调度周期和参数配置后,可单击操作区的部署-作业提交按钮进行作业提交。作业提交运行的实际业务场景一般包含2种:

  1. 算法建模任务是一个业务场景作业,周期调度下定时将结果写入数据表中,结果数据表供业务的数据使用场景应用。

  2. 算法建模任务是一个模型训练作业,周期调度下训练模型参数,最终优质的模型参数可进行模型部署输出。

Notebook作业提交后将在运维中心—任务管理中产生一条任务记录,表示此任务已经进入周期训练列表。Notebook作业提交后,将按照配置的调度周期自动运行,会产生周期实例,可在运维中心-周期实例中查看。

冻结任务

如果需要让某个任务停止运行一段时间,可在右侧面板调度依赖勾选冻结,任务冻结后:

  • 处于冻结状态的任务,周期实例依然会生成,但不会运行;

  • 如果在离线计算中将算法任务配置成某个任务的上游,当算法任务处于冻结状态时,其下游任务也会进入“冻结”状态,下游任务的实例也会产生,但不会运行。下游任务的 执行日志将会打印出由于上游任务被冻结而没有执行的日志;

  • 周期任务的冻结,第二天才会生效。若要重新运行任务,必须将实例解冻后,再单击重跑。如果需要紧急冻结任务,可以在周期实例中进行冻结操作。

出错重试

算法任务支持出错重试,可在右侧面板调度周期中设置,重试次数可设置1~5次,每次间隔2分钟,若重试后仍失败,则此任务运行失败。

删除任务

如果在编辑过程中想要放弃一个任务编辑版本,或周期任务提交后从调度系统汇总去掉该任务的自动运行,可以在Notebook的左侧任务列表中 右键点击此任务,弹出操作面板,进行删除

  • 如果此任务被其他任务依赖(是某任务的上游),则不能直接被删除,需解除依赖关系后删除。

  • 任务删除后,已生成的任务实例不会被删除,但会运行失败。

搜索任务

但任务数量较多,需要快速查找并打开任务时,可点击左侧任务列表栏上方的搜索按钮,进行任务搜索,并打开该任务。