1. 段落

1.1. 段落说明

1.1.1. 段落定义

段落是一个笔记中的一个代码片段,由多个语句构成,来共同完成特定的数据处理功能。段落中的代码支持SQL和HQL,但是同一个段落中代码只能是同一种的,不能混合包含不同类型的代码。

段落结构说明

字段 类型 描述
id INTEGER 段落的 id
previousId INTEGER 段落的前一个段落的 id
notebookId INTEGER 段落所属的笔记的 id
createdAt DATETIME 段落创建的时间
createdBy INTEGER 段落创建用户的 id
updatedAt DATETIME 段落最后修改的时间
updatedBy INTEGER 段落最后修改用户的 id
code STRING 段落的代码,每个语句用英文分号分隔
lang STRING 段落的代码类型,见段落语言说明,默认是SQL
connectionId INTEGER 段落的执行目标连接的 id
hsVersion INTEGER 段落的编辑版本号,从0开始,修改段落提交的时候,需要带上修改前的版本号
options OBJECT 段落配置信息
options.path STRING 数组 段落的执行目标连接的路径(schema),有些数据源比如SQL Server有多层

段落语言说明

状态值 意义
SQL native SQl,默认值,语法和具体的连接类型相关
HQL HQL,衡石定义的通用语言

1.2. 接口说明

1.2.1. 新增段落

请求URL

POST /api/v1/notebooks/{notebookId}/paragraphs

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
Request Body 参数
字段 类型 是否必须 描述
previousId INTEGER 分情况 段落的前一个段落的 id。笔记的第一个段落的前一个段落id是null,可不填;后续的段落必须填
code STRING 可选 段落的代码,每个语句用英文分号分隔,默认为空
lang STRING 可选 段落的代码类型,见段落语言说明,默认是SQL
connectionId INTEGER 可选 段落的执行目标连接的 id,默认为null,可以后续再修改
options OBJECT 可选 段落配置信息
options.path STRING 数组 可选 段落的执行目标连接的路径(schema),有些数据源比如SQL Server有多层

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 段落结构说明

接口示例: 创建笔记的第一个段落

POST /api/v1/notebooks/{notebookId}/paragraphs

{
}

返回

{
    "code": 0,
    "data": {
        "id": 1,
        "notebookId": 1,
        "createdBy": 1,
        "createdAt": "2020-02-25 17:19:40",
        "updatedBy": 1,
        "updatedAt": "2020-02-25 17:19:40",
        "code": "",
        "lang": "SQL",
        "hsVersion": 0,
        "options": {},
        "isDelete": false
    },
    "msg": "success",
    "version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}

接口示例: 创建笔记的第二个段落

POST /api/v1/notebooks/{notebookId}/paragraphs

{
    "previousId": 1
}

返回

{
    "code": 0,
    "data": {
        "id": 2,
        "previousId": 1,
        "notebookId": 1,
        "createdBy": 1,
        "createdAt": "2020-02-26 17:19:40",
        "updatedBy": 1,
        "updatedAt": "2020-02-26 17:19:40",
        "code": "",
        "lang": "SQL",
        "hsVersion": 0,
        "options": {},
        "isDelete": false
    },
    "msg": "success",
    "version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}

1.2.2. 删除段落

请求URL

DELETE /api/v1/notebooks/{notebookId}/paragraphs/{paragraphId}

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
Request Body 参数
字段 类型 是否必须 描述

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
code 错误码 请求成功返回0
msg STRING 请求成功返回success

接口示例:

DELETE /api/v1/notebooks/{notebookId}/paragraphs/{paragraphId}

返回

{
    "code": 0,
    "msg": "success",
    "version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}

1.2.3. 修改段落

请求URL

PUT /api/v1/notebooks/{notebookId}/paragraphs/{paragraphId}

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
Request Body 参数

只能修改connectionId,options.path,code,lang这4个参数中的一个或者多个。不能全部为(空或者null)

字段 类型 是否必须 描述
code STRING 可选 段落的代码,每个语句用英文分号分隔,默认为空
lang STRING 可选 段落的代码类型,见段落语言说明,默认是SQL
connectionId INTEGER 可选 段落的执行目标连接的 id,默认为null,可以后续再修改
options OBJECT 可选 段落配置信息
options.path STRING 数组 可选 段落的执行目标连接的路径(schema),有些数据源比如SQL Server有多层
hsVersion INTEGER 可选 段落的编辑版本号,从0开始,修改段落提交的时候,需要带上修改前的版本号。不带版本号不检查版本冲突

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 段落结构说明

接口示例: 修改代码

PUT /api/v1/notebooks/{notebookId}/paragraphs/{paragraphId}

{
    "code": "select * from movie limit 10"
}

返回

{
    "code": 0,
    "data": {
        "id": 1,
        "notebookId": 1,
        "createdBy": 1,
        "createdAt": "2020-02-25 17:19:40",
        "updatedBy": 1,
        "updatedAt": "2020-02-27 17:19:40",
        "code": "select * from movie limit 10",
        "lang": "SQL",
        "hsVersion": 1,
        "options": {},
        "isDelete": false
    },
    "msg": "success",
    "version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}

接口示例: 修改默认执行schema和执行连接

PUT /api/v1/notebooks/{notebookId}/paragraphs/{paragraphId}

{
    "connectionId": 1,
    "options": {
        "path": ["sqlserverdb","schema"]
    }
}

返回

{
    "code": 0,
    "data": {
        "id": 1,
        "notebookId": 1,
        "createdBy": 1,
        "createdAt": "2020-02-25 17:19:40",
        "updatedBy": 1,
        "updatedAt": "2020-02-27 18:19:40",
        "code": "select * from movie limit 10",
        "lang": "SQL",
        "hsVersion": 2,
        "connectionId": 1,
        "options": {
            "path": ["sqlserverdb","schema"]
        },
        "isDelete": false
    },
    "msg": "success",
    "version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}

1.2.4. 获取段落

请求URL

GET /api/v1/notebooks/{notebookId}/paragraphs/{paragraphId}

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
Request Body 参数
字段 类型 是否必须 描述

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 段落结构说明

接口示例:

GET /api/v1/notebooks/{notebookId}/paragraphs/{paragrapId}

返回

{
    "code": 0,
    "data": {
        "id": 1,
        "notebookId": 1,
        "createdBy": 1,
        "createdAt": "2020-02-25 17:19:40",
        "updatedBy": 1,
        "updatedAt": "2020-02-27 18:19:40",
        "code": "select * from movie limit 10",
        "lang": "SQL",
        "hsVersion": 2,
        "connectionId": 1,
        "options": {
            "path": ["sqlserverdb","schema"]
        },
        "isDelete": false
    },
    "msg": "success",
    "version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}

1.2.5. 获取笔记的段落列表

请求URL

GET /api/v1/notebooks/{notebookId}/paragraphs

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
offset INTEGER 可选 分页偏移量,默认是0
limit INTEGER 可选 分页获取个数,默认是1000
Request Body 参数
字段 类型 是否必须 描述

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
totalHits INTEGER 段落的总个数
offset INTEGER 当前分页偏移量
data OBJECT 数组 数组的元素是一个段落,见段落结构说明

接口示例:

GET /api/v1/notebooks/{notebookId}/paragraphs

返回

{
    "code": 0,
    "data": [
        {
            "id": 1,
            "notebookId": 1,
            "createdBy": 1,
            "createdAt": "2020-02-25 17:19:40",
            "updatedBy": 1,
            "updatedAt": "2020-02-27 18:19:40",
            "code": "select * from movie limit 10",
            "lang": "SQL",
            "hsVersion": 2,
            "connectionId": 1,
            "options": {
                "path": ["sqlserverdb","schema"]
            },
            "isDelete": false
        },
        {
            "id": 2,
            "previousId": 1,
            "notebookId": 1,
            "createdBy": 1,
            "createdAt": "2020-02-26 17:19:40",
            "updatedBy": 1,
            "updatedAt": "2020-02-28 18:19:40",
            "code": "select * from movie limit 10",
            "lang": "SQL",
            "hsVersion": 2,
            "connectionId": 1,
            "options": {
                "path": ["sqlserverdb","schema"]
            },
            "isDelete": false
        }
    ],
    "msg": "success",
    "version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567",
    "totalHits": 2,
    "offset": 0
}

1.2.6. 执行一个段落

请求URL

POST /api/v1/notebooks/{notebookId}/paragraphs/{paragrapId}/executions

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
requestId STRING 请求唯一的id
isTest BOOL 是否是测试执行
Request Body 参数
字段 类型 是否必须 描述

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
data OBJECT 包含日志和执行结果
data.logs STRING 数组 每条都是执行日志
data.schema OBJECT 数组 每一个元素表示一个字段的属性,与数据集的字段结构相同
data.data OBJECT 数组 每一个元素是表示一行数据的数组

接口示例:

POST /api/v1/notebooks/{notebookId}/paragraphs/{paragrapId}/executions?requestId=xxx123&isTest=true

{
}

返回

{
    "code": 0,
    "data": {
        "logs": [
            "2020-03-03 17:10:08.13 [77] [pipelineId: 1 jobId: 1 nodeId: 2 taskId: 1] task start",
            "2020-03-03 17:10:08.409 [77] [pipelineId: 1 jobId: 1 nodeId: 2 taskId: 1] task done"
        ],
        "schema": [...],
        "data": [...]
    },
    "msg": "success",
    "version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}

1.2.7. 取消执行一个段落

请求URL

PUT /api/v1/notebooks/{notebookId}/paragraphs/{paragrapId}/executions/cancel

需要认证:是

请求参数

URL 参数
字段 类型 是否必须 说明
requestId STRING 执行时发送的请求id
Request Body 参数
字段 类型 是否必须 描述

返回对象的格式说明

字段 类型 说明
version STRING 当前系统版本哈希值
code 错误码 请求成功返回0
msg STRING 请求成功返回success

接口示例:

PUT /api/v1/notebooks/{notebookId}/paragraphs/{paragrapId}/executions/cancel?requestId=xxx123

{
}

返回

{
    "code": 0,
    "msg": "success",
    "version": "3.1-SNAPSHOT@@git.commit.id.abbrev@#1234567"
}

results matching ""

    No results matching ""

    数据科学-笔记 数据集成