首页 > 云海(数据开放) > 帮助文档 > 生成部署

生成部署


一、整体介绍

生产部署模块主要用于发布各种任务,数据接口,并进行管理。


二、程序管理

程序列表:可以根据任务提交日期、任务名称、部署状态、程序分类进行任务筛选查看,并可以点击快捷操作菜单,快速进行部署、详情查看、下线、上线等操作。


三、任务相关

云海数据开放平台将任务分为了3种:计算任务,导出任务,抽取任务。

计算任务:负责定时的运行用户选中的程序文件,完成数据计算并写入对应的结果表。

要求:

(1)需要选择部署的程序。计算任务执行的是用户在【数据开发】的程序文件,但一个程序只能被成功部署一次计算任务。若审核失败,则请根据原因修改程序并重新部署;若审核通过,则程序被锁定不可编辑。

(2)依赖的数据表必须被部署计算任务且已上线。对于部署的计算任务,系统会做SQL解析出其依赖的数据表(基础数据的卖家表、非卖家表、结果表、上传表)。若发现有没有部署计算任务的数据表,则需要先进行部署并上线。这样可以确保所有的任务能够成功被执行。

(3) 产出的结果表必须唯一且未被部署过计算任务。系统会解析出SQL程序中最终insert的结果数据表。每个计算任务其实是完成一张用户的个人结果表的计 算。目前限定一个SQL程序有且仅有一个被用于insert的结果数据表,且该结果表不能是其他计算任务的结果表。这样保证表是被唯一的计算任务产出的。

导出任务:负责导出用户部署过计算任务的结果表。用于通过自定义API来读取数据表。

要求:

(1)选择需要导出的结果表。出现在下拉列表中的结果表需要满足以下要求:部署过计算任务且任务状态为已上线,此外已经部署过导出任务的结果表,也不会出现。

导出任务的运行周期和开始时间均取决于该结果表依赖的上游计算任务。

抽取任务:负责定时将用户上传到上传表中的数据抽取到云海数据开放平台的hadoop集群上。

要求:

(1)在IDE工具中创建上传数据表:IDE->新建数据表->选择上传表->表信息。

(2)抽取任务部署时需要选定写入的上传表。一个上传表只能被部署一次抽取任务。

任务列表:

用户提交部署过的所有任务的记录及对应的状态。点击"详情"可查看详细信息。

用户依赖树通过图表展现各任务间的依赖关系。

任务运行记录:

任务运行记录的列表展示所有的用户任务每天的运行状态,对于运行失败的任务,用户可主动触发令其"重跑"。

说明:

当任务处于"代码审核中""任务试跑中""审核通过""已上线""已下线"状态时,其对应的程序处于只读状态,即不可编辑程序的代码,不可重命名程 序,亦不可删除程序。若用户需要其中的SQL代码,则可复制到新的程序中。对应该程序所使用到的"个人数据表"也为只读状态,不可删除,不可被其他程序修 改。


三、数据接口相关

在部署完计算任务后及导出任务后。仅是将需要的数据每天按时的计算出来,并保存在了数据库中,需要一个数据接口来进行读取、调用,才能被APP所使用。

接口SQL:

这里的仅支持简单的SQL,要求如下:
1.目前只支持查询类型为SIMPLE的SQL, 即形式为"select … from .. where …."形式的SQL,不支持join、sub query等复杂查询。

2.所有参数需要以${}包围起来,并在下面添加,否则无效,参数的名称就是JOS入参中参数的名称

3.部分参数名称是系统预设的,这些变量的取值在通过JOS查询时从JOS session自动获取,人工传入的值会被忽略。

sys_seller_id: seller id

sys_appkey:发出JOS API调用的appkey

例如:接口的SQL为:

Select data from table1 where c1 = ${a1} and sellerid=${sys_seller_id}

则需要添加两个变量a1,sys_seller_id。并在语句中${}包起。

另外,sub_开头的变量可以用来实现sql结果的分页获取,其中变量sub_order_by的值为查找表的列名,变量 sub_offset,sub_limit必须是数值,如果order by 与 limit 两组变量同时存在,则书写顺序order by 在前,limit在后:

select * from table2 order by ${sub_order_by} limit ${sub_offset},${sub_limit};

普通变量是不能出现在limit语句中的。

4.使用JOS查询的时候,变量a1的值通过参数传入,而卖家数字id sys_seller_id则通过JOS session直接获取,无需用户传入。

快速测试:用户点击后对输入的SQL进行测试。

提交发布:用户填写完SQL后,可提交发布。如有信息不确定,则可以保存,后续编辑。发布成功之后则可以在APP中调用。

数据接口下线:若数据接口已不需要调用,则可以手动下线。