华为云用户手册

  • 产品功能 eihealth-toolkit提供了以下功能: 系统设置 您可以使用该工具获取系统标签、系统资源、系统配额信息、消息列表,查询和修改消息及完成作业保留配置,也可以获取和修改供应商logo、名称设置。 项目管理 您可以使用该工具获取、切换、创建、更新、删除和转移项目,也可以添加、修改、移除项目成员角色。 数据管理 您可以使用该工具查看、上传、下载、复制、导入、引入、创建和删除项目中的数据,创建、获取、删除、恢复归档数据,也可以对数据作业执行获取、删除、重试、取消操作。 数据库管理 您可以使用该工具创建、获取、删除和导入数据库模板,创建、获取和删除数据库实例,也可以引用数据库。 镜像管理 您可以使用该工具对镜像执行标记、上传、下载、查询、导入、更新和删除标签等操作。 应用管理 应用是生物信息学软件和运行该软件所依赖的运行环境的镜像封装。 您可以使用该工具创建应用,并进行修改、删除、查询、导入操作。 流程管理 流程包含分析过程中所需应用的执行信息和数据的输入、输出等参数定义,流程至少由一个应用组成。 您可以使用该工具创建流程,并进行修改、删除、查询、导入操作。对于由多个应用构成的流程,可通过设置不同应用的输入、输出关系搭建为流程。 作业管理 您可以使用该工具启动分析作业,并进行查询、删除、重试、取消操作。 notebook 您可以使用该工具创建notebook,并进行查询、编辑、删除和启停等操作。
  • 下载命令行工具eihealth-toolkit 针对不同操作系统,eihealth-toolkit下载地址如下所示。 表1 下载列表 支持平台 下载地址 Windows 64位 health-windows-x86_64.zip、health-windows-x86_64.zip.sha256 Linux ARM 64位 health-linux-aarch64.tar、health-linux-aarch64.tar.sha256 Linux AMD 64位 health-linux-x86_64.tar、health-linux-x86_64.tar.sha256 macOS health-macOS-x86_64.tar、health-macOS-x86_64.tar.sha256 本页面命令行工具下载后,在使用时,需用到您注册华为帐号并开通华为云时提供的用户名等信息,用于登录并操作 EIHealth 平台的项目、数据等资产。这些信息的处理将遵循您已接收的《华为云用户协议》及《隐私政策声明》约束。 下载地址中带有sha256后缀的链接,指的是对应软件包的校验文件。例如:Windows x64版本的下载链接是health-windows-x86_64 ,它的校验文件下载链接则是health-windows-x86_64.zip.sha256。
  • 命令示例 本节以Windows为例介绍eihealth-toolkit的使用过程,Linux和macOS环境使用方法基本相同,可参考。 获取计算资源列表 health get resource -t computing # 执行成功返回结果如下 Id Name Specifications Billing Mode Data Disk Status Purchased Schedulable 8a178a22-38ca-4707-bab3-e12324cdc96d health-ef0ec0fb-4022-46c9-898e-fbd440b44c09 eihealth.cpu.spec.cpu4.4xlarge.2 Pay-per-use SAS|200GB ACTIVE 2024-01-02 17:30:28 true 获取性能加速资源列表 health get resource -t performance # 执行成功返回结果如下 ID Name Specifications Billing Mode Used Capacity Used Capacity Percent Max.Capacity Job Quota Status Purchased Running Jobs 01c24e2f-2038-4718-acb0-a0c388a2f93c sfs-turbo-218766ac-5855-4ad4-a5fd-67130951afdd eihealth.storage.ioacc.spec.ioacc xxx 0.00GB 0.00% 100GB 1 ACTIVE / Schedulable 2023-01-19 21:57:51 0 获取数据库资源列表 health get resource -t database # 执行成功返回结果如下 Name Specifications Billing Mode Usage Data Disk Status Purchased 医疗智能体 数据库标准版 200 GB eihealth.dbm.spec.standard.200g(4vCPUS|8GB) Pay-per-use 2.36GB 40GB NORMAL 2023-12-27 16:07:12 获取存储资源列表 health get resource -t storage # 执行成功返回结果如下 Name Specifications Billing Mode Usage Purchased EIHealthSingleAZStoragePackage eihealth.storage.spec.singleaz xxx 4.06TB 2021-09-10 20:58:03 获取计算资源节点标签 health get resource -t computing -a get-labels -n 9b1727a3-2102-4d92-95b9-7eaa86b398ac 1 111 123 copy-in 获取计算资源规格列表 health get resource -t computing -a flavors -z cn-north-7c Flavor Name vCPUs | Memory Assured/Maximum Bandwidth Packets per Second(PPS) Sold Out eihealth.cpu.spec.cpu1.8xlarge.2 32vCPUS/64GB 8/15 Gbit/s 2600000 pps true eihealth.cpu.spec.cpu1.8xlarge.4 32vCPUS/128GB 8/15 Gbit/s 2600000 pps true eihealth.cpu.spec.cpu1.15xlarge.2 60vCPUS/128GB 16/16 Gbit/s 5000000 pps true eihealth.cpu.spec.cpu1.15xlarge.4 60vCPUS/256GB 16/16 Gbit/s 5000000 pps true eihealth.cpu.spec.cpu3.xlarge.2 4vCPUS/8GB 2.4/8 Gbit/s 800000 pps false eihealth.cpu.spec.cpu3.2xlarge.2 8vCPUS/16GB 4.5/15 Gbit/s 1500000 pps false eihealth.cpu.spec.cpu3.4xlarge.2 16vCPUS/32GB 9/20 Gbit/s 2800000 pps true eihealth.cpu.spec.cpu3.8xlarge.2 32vCPUS/64GB 18/30 Gbit/s 5500000 pps true eihealth.cpu.spec.cpu3.8xlarge.4 32vCPUS/128GB 18/30 Gbit/s 5500000 pps true
  • 命令结构 health get resource [flags] 表1 参数说明 参数 简写 是否必选 说明 --type -t 是 名称,支持computing、performance、database、storage,分别代表计算资源、性能加速资源、数据库资源和存储资源。 --action -a 否 查询计算节点方式。 取值范围: get-labels:获取计算资源标签列表。get-labels要和--node一起组合使用。 list:获取计算资源列表。 flavors:获取可用区下的计算节点规格列表。 默认值:list。 --node -n 否 计算节点id。设置了--label后使用,获取某个计算资源节点下的标签列表。 --zone -z 否 可用区id。如:cn-north-7c。
  • 命令示例 health nextflow create job -n "j1" -w "113b2ee6-bcb3-11ed-b7f6-fa163e504fdd" -d "htest" -l "a,b,c" -a "hello" -p "/param1.json"​ 输出结果: { "id": "fe88c9fe-2623-4b08-8f75-df60bb216072" } ​create nextflow job j1 successful
  • 命令结构 health get app ID [flags] 表1 参数说明 参数 简写 是否必选 说明 ID 无 否 不选此参数时,列出当前所在项目的所有应用信息。 指定app-id或app-name:version:srcproject,列出具体应用的信息,srcproject为源项目名称,可选。不指定srcproject时,默认为当前项目。例如GATK:4.0:projectname。 --sample -s 否 获取应用模板,模板为yaml格式。 --downloadPath -d 否 获取应用详情时,将内容下载到的指定文件夹路径(文件夹需要存在)。 --project 无 否 指定项目名。未填写则使用配置文件中的项目名。 --label -l 否 根据label标签搜索应用。
  • 命令示例 本节以Windows为例介绍eihealth-toolkit的使用过程,Linux和macOS环境使用方法基本相同,可参考。 使用health get workflow -s命令获取模板,详细的模板介绍和使用请参见获取流程模板。 使用health get workflow命令查询指定的流程信息。 health get workflow 550e8400-e29b-41d4-a716-446655440000 health get workflow workflow-name:version workflow: id: 3a7fa782-5bcb-11eb-9fef-fa163ef9b34d name: lk-workflow-0121 version: 1.0.0 summary: SDFDSF description: SDFDSFDSF labels: - SDFSDF timeout: 1440 output_dir: /lk-workflow-0121 tasks: - task_name: task-1-lk-app-0121 app_id: f165b7a6-5bc9-11eb-9fef-fa163ef9b34d name: "" resources: cpu: 0.1C memory: 0.1G gpu_type: "" gpu: "0" inputs: - name: input1 values: - ${task-2-lk-app-0121.output1} output_dir: /sdsd - task_name: task-2-lk-app-0121 app_id: f165b7a6-5bc9-11eb-9fef-fa163ef9b34d name: "" resources: cpu: 0.1C memory: 0.1G gpu_type: "" gpu: "0" inputs: - name: input1 values: - ei_eihealth_x00356764_02:/yexihao/ output_dir: /asdsd - task_name: task-4-lk-app-0121 app_id: f165b7a6-5bc9-11eb-9fef-fa163ef9b34d name: "" resources: cpu: 0.1C memory: 0.1G gpu_type: "" gpu: "0" inputs: - name: input1 values: - ei_eihealth_x00356764_02:/yexihao/ - name: input2 values: [] output_dir: /sd - task_name: task-5-zx-2id-2od app_id: "5" name: "" resources: cpu: 0.1C memory: 0.1G gpu_type: "" gpu: "0" inputs: - name: indir-01 values: - ${task-1-lk-app-0121.output1} - name: indir-02 values: - ${task-4-lk-app-0121.output1} output_dir: /sadsd license: BSD health get workflow -s 获取workflow yaml模板文件,以yaml格式打印到控制台 workflow: # 处理规则同app id: xxxx # 可选 # 流程唯一标识,由系统随机分配 # 处理规则同app name: xxxx # 必选 # workflow名称 version: xxxx # 必选 # workflow版本,workflow名称+workflow版本在一个项目内保持唯一 summary: xxx # 可选 # 短描述 description: 'description' # 可选 # 完整描述文本 labels: # 可选 # 标签 - labelA - labelB timeout: 1440 # 可选 # 流程超时时间,取值范围[1,144000],单位分钟,默认1440 output_dir: # 可选 # workflow的当前工作目录,默认为根目录,用户可显示指定 tasks: # 必选 # 任务列表 - task_name: app1-1 # 任务名称 # 唯一标识处理规则如下: # 1. 特殊id,采用{app_name}::{app_version}::{src_project_name}格式,用于手动创建场景 # src_project_name在使用导入or订阅的资源是需要填写,为空表示本项目 # 2. 其他场景,app_id为系统分配的唯一标识 app_id: xxx # 必选 app唯一标识 name: # task展示名称 resources: cpu: 2C # 'CPU数量' memory: 4G # '内存大小' gpu_type: # 'GPU类型' gpu: # 'GPU数量' output_dir: # task输出子目录,默认为空时,自动生成task-name子目录,允许在workflow中配置 inputs: # 输入参数配置,默认覆盖workflow、app中同名配置 - name: 'input_name1' # 参数名 values: # 参数值,覆盖基础配置 - xxx - task_name: app2-1 # 任务名称 app_id: xxx # app唯一标识 name: # task展示名称 resources: cpu: 2C # 'CPU数量' memory: 4G # '内存大小' gpu_type: # 'GPU类型' gpu: # 'GPU数量' output_dir: # task输出子目录,默认为空时,自动生成task-name子目录,允许在workflow中配置 inputs: # 输入参数配置,默认覆盖workflow、app中同名配置 - name: 'input_name2' # 参数名 values: # 参数值,覆盖基础配置 - xxx license: xxx # workflow的许可证 # 下载workflow详情到a文件夹 health get workflow 3df8c00e-0291-11ed-973f-fa163e507c84 -d ./a download workflow detail successfully! # 根据label标签搜索workflow health get workflow -l labelA id name version label source_eihealth_project_name user_name create_time update_time 501c20c9-aaf8-11ee-a057-fa163ef319da cli-demo-workflow 1.0.0 labelA,labelB test-project-new-permissions-700wwx-test-admin 2024-01-04 19:56:36 2024-01-04 19:56:36 4dd32f12-aaf7-11ee-a057-fa163ef319da cli-demo-workflow 2.0.0 labelA,labelB test-project-new-permissions-700wwx-test-admin 2024-01-04 19:49:23 2024-01-04 19:49:23
  • 命令结构 health get workflow ID [flags] 表1 参数说明 参数 简写 是否必选 说明 ID 无 否 不选此参数时,列出当前所在项目的所有流程信息。 指定workflow-id或workflow-name:version:srcproject,列出具体应用的信息,srcproject为源项目名称,可选。不指定srcproject时,默认为当前项目。 --sample -s 否 获取流程模板,模板为yaml格式。 --downloadPath -d 否 获取workflow详情时,将内容下载到的指定文件夹路径(文件夹需要存在)。 --project 无 否 指定项目名。未填写则使用配置文件中的项目名。 --label -l 否 根据label标签搜索workflow
  • 命令示例 获取task列表 health nextflow get task -j "7991e0b4-bffe-4166-ac2e-45a261592dcc" { "tasks": [ { "task_id": "1", "process": "readfile", "hash": "f2/a0f16c", "status": "RUNNING", "container": "swr.xxx/eihealth-0659ea54-5ae6-4e9d-b014-a2b041a26f62/admet:2.0.0.1659942728536", "pod_name": "nf-f2a0f16c66bbe8e28824e8ccabbddd25", "submit": "2023-03-09T08:50:37Z" } ], "count": 1 } 获取task详情 health nextflow get task 1 -j "7991e0b4-bffe-4166-ac2e-45a261592dcc" { "id": "1", "command": "\n echo /test;sleep 1000;echo \"end /test\";\n ", "status": "RUNNING", "exit": 2147483647, "work_dir": "/nextflow/__nextflow_work__/e6dcd289-dadb-48d9-b53b-e0c6c256932e/mb79e5e6-1b14-41b4-ac3b-e8fb0122d64d/f2/a0f16c66bbe8e28824e8ccabbddd25", "module": [], "container": "swr.xxx/eihealth-0659ea54-5ae6-4e9d-b014-a2b041a26f62/admet:2.0.0.1659942728536", "attempt": 1, "execution_time": { "submit": "2023-03-09T08:50:37Z", "start": "2023-03-09T08:50:40Z" }, "resource_requested": { "container": "swr.xxx/eihealth-0659ea54-5ae6-4e9d-b014-a2b041a26f62/admet:2.0.0.1659942728536", "cpus": 1 }, "resource_usage": {} } 获取task日志 health nextflow get task 1 -j "7991e0b4-bffe-4166-ac2e-45a261592dcc" -t logs { "count": 1, "logs": [ "2023-03-09T08:50:44Z /test\n" ] }
  • 命令示例 本节以Windows为例介绍eihealth-toolkit的使用过程,Linux和macOS环境使用方法基本相同,可参考。 修改消息的保留数目 health edit retention message --number 10000 # 执行成功返回结果如下 set the retention of message successfully! 修改已完成作业的保留数目 health edit retention completed-jobs --number 10000 # 执行成功返回结果如下 set the retention of completed-jobs successfully!
  • 命令示例 本节以Windows为例介绍eihealth-toolkit的使用过程,Linux和macOS环境使用方法基本相同,可参考。 使用health get job -s命令获取模板,详细的模板介绍和使用请参见获取作业模板。 获取作业详情,以模板方式展示。 health get job 000c6057-cc6c-11ed-bbec-fa163ef30f89 job: id: 000c6057-cc6c-11ed-bbec-fa163ef30f89 name: job-7402 description: "" priority: 0 timeout: 1440 output_dir: /job-7402-de91a3e0-076c-4327-a41c-8e88c7aec6ae workflow_id: f1af14bb-cc69-11ed-bbec-fa163ef30f89 io_acc_id: "" node_labels: [] tasks: - task_name: task-1-test-echo inputs: [] resources: cpu: 0.1C memory: 0.1G gpu: "0" tool_type: workflow tool_id: f1af14bb-cc69-11ed-bbec-fa163ef30f89 labels: [] 获取作业详情,以json方式展示。 health get job f17a3542-3f7c-11eb-868a-fa163e3ddba1 --detail { "jobs": [{ "id": "2", "name": "zx-1030-mkdir", "description": "测试文件创建", "priority": 0, "timeout": 1440, "output_dir": "", "status": "SUCCEEDED", "create_time": "2021-01-20T03:38:14Z", "finish_time": "2021-01-20T03:43:23Z", "tool_info": { "tool_id": "", "tool_name": "", "tool_version": "", "tool_type": "" }, "tasks": [{ "task_name": "task0", "display_name": "", "output_dir": "", "whole_output_dir": "", "resources": { "cpu": "0.1C", "memory": "0.1G", "gpu_type": "", "gpu": "0" }, "inputs": [{ "name": "in-dir", "values": [ "ei_eihealth_x00356764_02:/zx-1030/" ] }, { "name": "in-str", "values": [ "mkdir1030" ] } ], "app_info": { "app_id": "2", "app_name": "zx-1030-mkdir", "app_version": "1.0.0", "app_src_project_name": "", "app_labels": [], "app_summary": "", "app_description": "", "app_image": "ei_eihealth_x00356764_02/modelarts-base-cpu-py3:custom-2.0.2", "app_commands": [ "mkdir ${in-dir}${in-str}" ], "app_input_parameters": [{ "name": "in-dir", "pattern": "", "type": "DIRECTORY", "required": true, "description": "" }, { "name": "in-str", "pattern": "", "type": "STRING", "required": true, "description": "" } ], "app_output_parameters": [] } }], "task_runtime_info": [{ "task_name": "task0", "status": "SUCCEEDED", "create_time": "2021-01-20 11:38:22", "finish_time": "2021-01-20 11:43:22", "run_time": "5m0s" }], "dag": { "task0": {} }, "io_acc_expected_usage": 10, "io_acc_info": { "id": "35673038-d57b-4dab-942a-72cf3e11e7df", "type": "IO_PERFORMANCE_BANDW IDT H", "space": 500, "free_space": 500.0 } }], "count": 1 } 获取作业列表。 health get job #不带任何参数默认获取100条 job_id job_name tool_name tool_version tool_type status user_name create_time finish_time labels 4b682e15-ab92-11ee-a057-fa163ef319da cli-demo-job cp-test 2.0.0 workflow PENDING wwx-test-admin 2024-01-05 14:18:51 -- e7e55c6e-aaf6-11ee-a057-fa163ef319da cli-demo-job-import cli-demo-workflow 4.0.0 workflow FAILED wwx-test-admin 2024-01-04 19:46:32 2024-01-04 19:47:50 aee9e91a-aaf6-11ee-a057-fa163ef319da job-6685 cli-demo-workflow 4.0.0 workflow FAILED wwx-test-admin 2024-01-04 19:44:56 2024-01-04 19:45:50 58a8f13b-aaf3-11ee-a057-fa163ef319da job cp-test 2.0.0 workflow FAILED wwx-test-admin 2024-01-04 19:21:03 2024-01-04 19:23:54 35ff73b3-aaf3-11ee-a057-fa163ef319da job cp-test 2.0.0 workflow SUCCEEDED wwx-test-admin 2024-01-04 19:20:05 2024-01-04 19:24:52 24b72eee-aaf3-11ee-a057-fa163ef319da job cp-test 2.0.0 workflow SUCCEEDED wwx-test-admin 2024-01-04 19:19:36 2024-01-04 19:25:10 4ccef1fb-aaf2-11ee-a057-fa163ef319da job cp-test 2.0.0 workflow SUCCEEDED wwx-test-admin 2024-01-04 19:13:34 2024-01-04 19:17:34 health get job -j cli-demo-job job_id job_name tool_name tool_version tool_type status user_name create_time finish_time labels 70f1baa8-ab96-11ee-a057-fa163ef319da cli-demo-job cp-test 2.0.0 workflow SUCCEEDED wwx-test-admin 2024-01-05 14:48:32 2024-01-05 14:55:13 6c6098f0-ab96-11ee-a057-fa163ef319da cli-demo-job cp-test 2.0.0 workflow SUCCEEDED wwx-test-admin 2024-01-05 14:48:24 2024-01-05 14:54:25 health get job -l 3 同 health get job -l 3 -o 0 #列出当前project的job的基本信息 #表示取3条数据,也就是取1-3 条数据 health get job -o 10 同 health get job -l 100 -o 10 #列出当前project的job的基本信息 #表示取100条数据,也就是取11-110 100 条数据 health get job -l 10 -o 3 #列出当前project的job的基本信息 #表示跳过3条数据,从第4条数据开始取,取10条数据,也就是取4-13 10条数据 获取作业事件。 health get job 550e8400-e29b-41d4-a716-446655440000 --event ------------------------------------------------------------------------------------------------------------------------ 成功关联执行器 2024-01-05 14:18:51 ------------------------------------------------------------------------------------------------------------------------ 执行 create, 共计 1 个子任务 2024-01-05 14:18:51 ------------------------------------------------------------------------------------------------------------------------ 执行 create, 共计 1 个子任务 2024-01-05 14:18:51 ------------------------------------------------------------------------------------------------------------------------ 创建k8s Job对象 task-3-two-cp-0-bd5e1f7dac10005f 成功. 2024-01-05 14:18:51 ------------------------------------------------------------------------------------------------------------------------ 等待任务 task-3-two-cp-0-bd5e1f7dac10005f 执行完成 2024-01-05 14:18:56 ------------------------------------------------------------------------------------------------------------------------ 元素(task-3-two-cp-0)第1次重试执行(create),当前异常:Failed to wait the Job(task-3-two-cp-0-bd5e1f7dac10005f) has desiredReplicas: the pod list of job:task-3-two-cp-0-bd5e1f7dac10005f is empty . 2024-01-05 14:18:51 ------------------------------------------------------------------------------------------------------------------------ 创建k8s Job对象 task-2-cp-dir-0-bd5e1f7dac10005f 成功. 2024-01-05 14:18:56 ------------------------------------------------------------------------------------------------------------------------ 获取作业某一task事件。 health get job 550e8400-e29b-41d4-a716-446655440000 --event --task task-lmx-job-1 Task event list: Status Times Type Details First Report Time Last Report Time SuccessfulCreate 1 Normal Created pod: task-1-rename-0-1b840133ac100049-hkppv 2022-05-24 18:04:55 2022-05-24 18:04:55 JobIsComplete 1 Normal Pod exits with success, the job is complete 2022-05-24 18:07:09 2022-05-24 18:07:09 Task instances list: Name Status PodIP Node RestartCount Request/Limit(CPU) Request/Limit(Memory) CreateTime task-1-rename-0-1b840133ac100049-hkppv Succeeded 172.16.1.20 192.168.125.40 0 / / 2022-05-24T10:04:55Z 获取并发task的实例事件。 health get job c5b3d272-f398-11ec-845a-fa163ef3fac0 --task task-1-test-bingfasmial;1 --event Task event list: Status Times Type Details First Report Time Last Report Time SuccessfulCreate 1 Normal Created pod: task-1-test-bingfasmial-1-59620029ac100038-jkdpt 2022-06-24 16:37:20 2022-06-24 16:37:20 JobIsComplete 1 Normal Pod exits with success, the job is complete 2022-06-24 16:37:23 2022-06-24 16:37:23 Task instances list: Name PodIP Node RestartCount Request/Limit(CPU) Request/Limit(Memory) CreateTime task-1-test-bingfasmial-1-59620029ac100038-jkdpt 172.16.3.37 192.168.54.255 0 1/1 1G/1G 2022-06-24 16:37:20 获取作业某一task日志。 health get job 550e8400-e29b-41d4-a716-446655440000 --log ./test/demo.log --task task-xxx-job-1 download the log of task task-lmx-job-1 successfully! 获取作业列表。 health get job --status Failed --user-name ei_eihealth --create-from-time "2022-12-15 00:40:11" --create-to-time "2022-12-17 00:40:11" --finish-from-time "2022-12-14 17:05:09" --finish-to-time "2022-12-19 23:04:07" --labels "label1,lab_el-A" --job-name h-err-1 --workflow-name herr --limit 1 --offset 1 job_id job_name tool_name tool_version tool_type status user_name create_time finish_time labels 8a6078d9-c307-11ed-a824-fa163e504fdd job-4127-01 new-01 wewe workflow FAILED ei_eihealth_h00541446_01 2023-03-15 16:01:07 2023-03-15 16:02:51 label1,lab_el-A
  • 命令结构 health get job ID [flags] 表1 参数说明 参数 简写 是否必选 说明 ID 无 否 不选此参数时,列出当前所在项目的所有作业信息。 指定job-id时,列出具体作业的信息。可以同时指定多个job-id。 不带--detail参数,以yaml格式展示作业基本信息。 带--detail参数,以json格式展示作业基本信息。 --detail -d 否 配合ID使用,返回作业的详细信息。 --sample -s 否 获取作业模板,模板为yaml格式。 --limit -l 否 代表当次请求获取的最大查询条数(默认为10)。 --offset -o 否 偏移量,从第几条数据开始查询,默认为0。 --event -e 否 获取作业事件或者作业某一task事件,单独使用表示获取作业事件;与--task一起使用表示获取某一个task事件,并同时输出task实例列表。 --log -g 否 本地存放task日志的路径,必须与--task一起使用以获取作业某一task的日志。 --task -a 否 task名称。如果是并发的task,那么默认获取索引号为0的task实例,如果要查看别的实例,格式: --task task名称;实例索引,如--task task-1;1。 --finish-from-time -x 否 查询任务完成起始时间。例如,2006-01-02 15:04:05。 --finish-to-time -y 否 查询任务完成结束时间。例如,2006-01-02 15:04:05。 --create-from-time -c 否 询任务创建起始时间,例子:--create-from-time="2006-01-02 15:04:05"。 --create-to-time -m 否 询任务创建结束时间,例子:--create-to-time="2006-01-02 15:04:05"。 --labels -k 否 作业标签列表。以","分隔,如:"a,b"。 --status -q 否 作业状态(用于获取作业列表),取值:Succeeded、Running、Pending、Failed、Cancelling、Cancelled、Unknown。 --workflow-name -t 否 流程名。 --user-name -u 否 用户名。 --job-name -j 否 任务名。
  • 合成路径规划 合成路径规划基于盘古药物分子大模型,根据给定的目标分子,可以设计出完整且合理的合成路径。 单击“立即使用”,进入配置页面。 在配置页面,可以在左侧绘制分子,也可以通过上传分子文件方式上传分子或者在白框内输入小分子SMILES表达式。 上传分子文件:支持SDF、MOL2、PDB、SMI格式文件。 最大搜索路径个数:合成路径规划的路径数量。路径数量增加,将展示更多的合理合成路径;路径数量减少,可能会有部分合理路径未展示。默认值50,取值范围1-50。 最大搜索深度:深度增加,每一个路径可进行搜索的深度限制增加,作业运行时间可能延长;深度减少,部分路径可能在还未搜索完成时被终止。默认值5,取值范围3-12。 最大搜索时间:合成路径规划的搜索时间限制,到达限制时间会返回已经搜索完成的路径。搜索时间增加,作业运行时间延长;搜索时间减少,可能会有部分合理路径未能开始搜索。默认值30min,取值范围5-60。 每个产物最大反应数量:合成路径中每一个中间产物最多有多少种可能的反应,按照反应置信度从高到低排序。最大反应数量增加,每个中间产物的可搜索反应范围数量增加,作业运行时间延长;最大反应数量减少,可能会有部分合理反应未能纳入搜索。默认20,取值范围2-20。 作业名称:可修改,修改后左上角也同步修改。长度为5~64个字符;仅可以使用字母、数字、下划线“_”、中划线“-”和空格;首位只能以数字或字母开头。 标签:设置作业标签。 功能调用次数:合成路径规划目前是一个运行成功得作业消耗一次功能调用次数。 图1 分子合成路径 引用外部桶时,需要确保所引用的数据不超过45层级的目录。 单击“提交”。可在作业中心查看该作业的运行情况。 运行完成后,可在作业中心单击该作业查看输出结果,输出结果缩略图。 图2 查看运行结果(1) 单击查看路径,查看输出结果详情。 可以单击左上角“下载”,下载当前的输出结果。 下载操作将会产生流量费用,具体可参考计费说明。 图3 查看运行结果(2) 父主题: 功能模块
  • 导入应用 导入应用是将隶属于其他项目的应用导入至本项目中,一次至多导入50个应用。 使用“导入应用”功能,用户需是其他项目中的成员,且为其他项目的“所有者”或“管理员”。 单击“导入应用”,进入导入应用页面。 图1 导入应用 选择需要引用的项目以及项目中的应用,选择应用的版本。“导入应用名称”是选填项,可以使用原有名称,或自定义。 图2 导入应用 单击“确定”,导入应用,导入过程中可以查看每个应用的导入状态。 父主题: 工具管理
  • dynamic_library_path 参数说明:设置数据查找动态加载的共享库文件的路径。当需要打开一个可以动态装载的模块并且在CREATE FUNCTION或LOAD命令里面声明的名称没有目录部分时,系统将搜索这个目录以查找声明的文件,仅sysadmin用户可以访问。 用于dynamic_library_path的数值必须是一个冒号分隔(Windows下是分号分隔)的绝对路径列表。当一个路径名称以特殊变量$libdir为开头时,会替换为 GaussDB 发布提供的模块安装路径。例如: 1 dynamic_library_path = '/usr/local/lib/postgresql:/opt/testgs/lib:$libdir' 该参数属于SUSET类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 设置为空字符串,表示关闭自动路径搜索。 默认值:$libdir
  • local_preload_libraries 参数说明:指定一个或多个共享库,它们在开始连接前预先加载。多个加载库之间用逗号分隔,除了双引号,所有的库名都转换为小写。 并非只有系统管理员才能更改此选项,因此只能加载安装的标准库目录下plugins子目录中的库文件,数据库管理员有责任确保该目录中的库都是安全的。local_preload_libraries中指定的项可以明确含有该目录,例如$libdir/plugins/mylib;也可以仅指定库的名称,例如mylib(等价于$libdir/plugins/mylib)。 与shared_preload_libraries不同,在会话开始之前加载模块与在会话中使用到该模块的时候临时加载相比并不具有性能优势。相反,这个特性的目的是为了调试或者测量在特定会话中不明确使用LOAD加载的库。例如针对某个用户将该参数设为ALTER USER SET来进行调试。 当指定的库未找到时,连接会失败。 每一个支持GaussDB的库都有一个“magic block”用于确保兼容性,因此不支持GaussDB的库不能通过这个方法加载。 该参数属于BACKEND类型参数,请参考表1中对应设置方法进行设置。 取值范围:字符串 默认值:空
  • 示例(在使用gsql连接数据库服务器的场景下) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 # 1 解压GaussDB-Kernel_数据库版本号_操作系统版本号_64bit_Gsql.tar.gz安装包,找到脚本gsql_env.sh # 2 通过脚本,自动配置环境变量GS_KTOOL_FILE_PATH source gsql_env.sh # 3 连接数据库,开启-C密态开关 gsql -p 端口号 -d postgres -r -C # 4 创建秘钥,以gs_ktool示例 gaussdb=# \! gs_ktool -g GENERATE 1 gaussdb=# \! gs_ktool -g GENERATE 2 # 5 创建CMK和CEK gaussdb=# CREATE CLIENT MASTER KEY cmk1 WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/1" , ALGORITHM = AES_256_CBC); CREATE CLIENT MASTER KEY gaussdb=# CREATE CLIENT MASTER KEY cmk2 WITH ( KEY_STORE = gs_ktool , KEY_PATH = "gs_ktool/2" , ALGORITHM = AES_256_CBC); CREATE CLIENT MASTER KEY gaussdb=# CREATE COLUMN ENCRYPTION KEY cek1 WITH VALUES (CLIENT_MASTER_KEY = cmk1, ALGORITHM = AES_256_GCM); CREATE COLUMN ENCRYPTION # 6 更改用于重加密该CEK的新的CMK gaussdb=# ALTER COLUMN ENCRYPTION KEY cek1 WITH VALUES (CLIENT_MASTER_KEY = cmk2); ALTER COLUMN ENCRYPTION KEY # 7 删除CMK和CEK gaussdb=# DROP COLUMN ENCRYPTION KEY cek1; DROP COLUMN ENCRYPTION KEY gaussdb=# DROP CLIENT MASTER KEY cmk1; DROP CLIENT MASTER KEY gaussdb=# DROP CLIENT MASTER KEY cmk2; DROP CLIENT MASTER KEY # 8 删除第四步中创建的秘钥 gaussdb=# \! gs_ktool -d1 DELETE 1 gaussdb=# \! gs_ktool -d1 DELETE 2
  • 解析文档 GaussDB中提供了to_tsvector函数把文档处理成tsvector数据类型。 1 to_tsvector([ config regconfig, ] document text) returns tsvector to_tsvector将文本文档解析为token,再将token简化到词素,并返回一个tsvector。其中tsvector中列出了词素及它们在文档中的位置。文档是根据指定的或默认的文本搜索分词器进行处理的。这里有一个简单的例子: 1 2 3 4 gaussdb=# SELECT to_tsvector('english', 'a fat cat sat on a mat - it ate a fat rats'); to_tsvector ----------------------------------------------------- 'ate':9 'cat':3 'fat':2,11 'mat':7 'rat':12 'sat':4 通过以上例子可发现结果tsvector不包含词a、on或者it,rats变成rat,并且忽略标点符号-。 to_tsvector函数内部调用一个解析器,将文档的文本分解成token并给每个token指定一个类型。对于每个token,有一系列词典可供查询。词典系列因token类型的不同而不同。识别token的第一本词典将发出一个或多个标准词素来表示token。例如: rats变成rat因为词典认为词rats是rat的复数形式。 有些词被作为停用词(请参考停用词),这样它们就会被忽略,因为它们出现得太过频繁以致于搜索中没有用处。比如例子中的a、on和it。 如果没有词典识别token,那么它也被忽略。在这个例子中,符号“-”被忽略,因为词典没有给它分配token类型(空间符号),即空间记号永远不会被索引。 语法解析器、词典和要索引的token类型由选定的文本搜索分词器决定。可以在同一个数据库中有多种不同的分词器,以及提供各种语言的预定义分词器。在以上例子中,使用缺省分词器english。 函数setweight可以给tsvector的记录加权重,权重是字母A、B、C、D之一。这通常用于标记来自文档不同部分的记录,比如标题、正文。之后,这些信息可以用于排序搜索结果。 因为to_tsvector(NULL)会返回空,当字段可能是空的时候,建议使用coalesce。以下是推荐的为结构化文档创建tsvector的方法: 1 2 3 4 5 6 7 8 9 10 gaussdb=# CREATE TABLE tsearch.tt (id int, title text, keyword text, abstract text, body text, ti tsvector); gaussdb=# INSERT INTO tsearch.tt(id, title, keyword, abstract, body) VALUES (1, 'China', 'Beijing', 'China','China, officially the People''s Republic of China (PRC), located in Asia, is the world''s most populous state.'); gaussdb=# UPDATE tsearch.tt SET ti = setweight(to_tsvector(coalesce(title,'')), 'A') || setweight(to_tsvector(coalesce(keyword,'')), 'B') || setweight(to_tsvector(coalesce(abstract,'')), 'C') || setweight(to_tsvector(coalesce(body,'')), 'D'); gaussdb=# DROP TABLE tsearch.tt; 上例使用setweight标记已完成的tsvector中的每个词的来源,并且使用tsvector连接操作符||合并标记过的tsvector值,处理tsvector一节详细介绍了这些操作。 父主题: 控制文本搜索
  • 参数说明 name 已有文本搜索配置的名称(可以有模式修饰)。 token_type 与配置的语法解析器关联的字串类型的名称。详细信息参见解析器。 dictionary_name 文本搜索字典名称。 如果有多个字典,则它们会按指定的顺序搜索。 old_dictionary 映身中拟被替换的文本搜索字典名称。 new_dictionary 替换old_dictionary的文本搜索字典的名称。 new_owner 文本搜索配置的新所有者。 new_name 文本搜索配置的新名称。 new_schema 文本搜索配置的新模式名。 configuration_option 文本搜索配置项。详细信息参见CREATE TEXT SEARCH CONFIGURATION。 value 文本搜索配置项的值。
  • 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 --创建文本搜索配置。 gaussdb=# CREATE TEXT SEARCH CONFIGURATION english_1 (parser=default); CREATE TEXT SEARCH CONFIGURATION --增加文本搜索配置字串类型映射语法。 gaussdb=# ALTER TEXT SEARCH CONFIGURATION english_1 ADD MAPPING FOR word WITH simple,english_stem; ALTER TEXT SEARCH CONFIGURATION --增加文本搜索配置字串类型映射语法。 gaussdb=# ALTER TEXT SEARCH CONFIGURATION english_1 ADD MAPPING FOR email WITH english_stem, french_stem; ALTER TEXT SEARCH CONFIGURATION --查询文本搜索配置相关信息。 gaussdb=# SELECT b.cfgname,a.maptokentype,a.mapseqno,a.mapdict,c.dictname FROM pg_ts_config_map a,pg_ts_config b, pg_ts_dict c WHERE a.mapcfg=b.oid AND a.mapdict=c.oid AND b.cfgname='english_1' ORDER BY 1,2,3,4,5; cfgname | maptokentype | mapseqno | mapdict | dictname -----------+--------------+----------+---------+-------------- english_1 | 2 | 1 | 3765 | simple english_1 | 2 | 2 | 12960 | english_stem english_1 | 4 | 1 | 12960 | english_stem english_1 | 4 | 2 | 12964 | french_stem (4 rows) --增加文本搜索配置字串类型映射语法。 gaussdb=# ALTER TEXT SEARCH CONFIGURATION english_1 ALTER MAPPING REPLACE french_stem with german_stem; ALTER TEXT SEARCH CONFIGURATION --查询文本搜索配置相关信息。 gaussdb=# SELECT b.cfgname,a.maptokentype,a.mapseqno,a.mapdict,c.dictname FROM pg_ts_config_map a,pg_ts_config b, pg_ts_dict c WHERE a.mapcfg=b.oid AND a.mapdict=c.oid AND b.cfgname='english_1' ORDER BY 1,2,3,4,5; cfgname | maptokentype | mapseqno | mapdict | dictname -----------+--------------+----------+---------+-------------- english_1 | 2 | 1 | 3765 | simple english_1 | 2 | 2 | 12960 | english_stem english_1 | 4 | 1 | 12960 | english_stem english_1 | 4 | 2 | 12966 | german_stem (4 rows) --删除文本搜索配置。 gaussdb=# DROP TEXT SEARCH CONFIGURATION english_1; 请参见CREATE TEXT SEARCH CONFIGURATION的示例。
  • 语法格式 增加文本搜索配置字串类型映射语法 1 2 ALTER TEXT SEARCH CONFIGURATION name ADD MAPPING FOR { token_type } [, ... ] WITH { dictionary_name } [, ... ]; 修改文本搜索配置字典语法 1 2 ALTER TEXT SEARCH CONFIGURATION name ALTER MAPPING FOR { token_type } [, ... ] REPLACE old_dictionary WITH new_dictionary; 修改文本搜索配置字串类型语法 1 2 ALTER TEXT SEARCH CONFIGURATION name ALTER MAPPING FOR { token_type } [, ... ] WITH { dictionary_name } [, ... ]; 更改文本搜索配置字典语法 1 2 ALTER TEXT SEARCH CONFIGURATION name ALTER MAPPING REPLACE old_dictionary WITH new_dictionary; 删除文本搜索配置字串类型映射语法 1 2 ALTER TEXT SEARCH CONFIGURATION name DROP MAPPING [ IF EXISTS ] FOR { token_type } [, ... ]; 重命名文本搜索配置所有者语法 1 ALTER TEXT SEARCH CONFIGURATION name OWNER TO new_owner; 重命名文本搜索配置名称语法 1 ALTER TEXT SEARCH CONFIGURATION name RENAME TO new_name; 重命名文本搜索配置命名空间语法 1 ALTER TEXT SEARCH CONFIGURATION name SET SCHEMA new_schema; 修改文本搜索配置属性语法 1 ALTER TEXT SEARCH CONFIGURATION name SET ( { configuration_option = value } [, ...] ); 重置文本搜索配置属性语法 1 ALTER TEXT SEARCH CONFIGURATION name RESET ( {configuration_option} [, ...] );
  • 功能描述 更改文本搜索配置的定义。用户可以将映射从字串类型调整为字典,或者改变配置的名称或者所有者,或者修改搜索配置的配置参数。 ADD MAPPING FOR选项为文本搜索配置增加字串类型映射;如果ADD MAPPING FOR后面任何一个字串类型的映射已经存在于此文本搜索配置中,那么系统将会报错。 ALTER MAPPING FOR选项会首先清除已有的字串类型映射,然后添加指定的字串类型映射。 ALTER MAPPING REPLACE ... WITH ... 与ALTER MAPPING FOR ... REPLACE ... WITH ...选项会直接使用new_dictionary替换old_dictionary。需要注意的是,只有pg_ts_config_map系统表中存在maptokentype与old_dictionary对应关系的元组时,才能更新成功,否则不会成功,也不会有任何提示信息返回。 DROP MAPPING FOR选项会删除当前文本搜索配置中指定的字串类型映射。 如果没有指定IF EXISTS选项,当DROP MAPPING FOR选项指定的字串类型映射在文本搜索配置中不存在时,数据库会报错。
  • 示例 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 --创建一个默认负载组,其资源池为默认的资源池。 gaussdb=# CREATE WORKLOAD GROUP wg_name1; --创建资源池pool1。 gaussdb=# CREATE RESOURCE POOL pool1; --创建一个负载组,关联已创建的资源池。 gaussdb=# CREATE WORKLOAD GROUP wg_name2 USING RESOURCE POOL pool1; --创建一个负载组,关联已创建的资源池,并设置并发数量为10。 gaussdb=# CREATE WORKLOAD GROUP wg_name3 USING RESOURCE POOL pool1 WITH (ACT_STATEMENTS=10); --删除负载组和资源池。 gaussdb=# DROP WORKLOAD GROUP wg_name1; gaussdb=# DROP WORKLOAD GROUP wg_name2; gaussdb=# DROP WORKLOAD GROUP wg_name3; gaussdb=# DROP RESOURCE POOL pool1;
  • 操作步骤 创建一个名为thesaurus_astro的TZ词典。 以一个简单的天文学词典thesaurus_astro为例,其中定义了两组天文短语及其同义词如下: 1 2 supernovae stars : sn crab nebulae : crab 执行如下语句创建TZ词典: 1 2 3 4 5 6 gaussdb=# CREATE TEXT SEARCH DICTIONARY thesaurus_astro ( TEMPLATE = thesaurus, DictFile = thesaurus_astro, Dictionary = pg_catalog.english_stem, FILEPATH = 'file:///home/dicts/' ); 其中,词典定义文件全名为thesaurus_astro.ths,所在目录为当前连接CN节点的/home/dicts/下 。子词典pg_catalog.english_stem是预定义的Snowball类型的英语词干词典,用于规范化输入词,子词典自身相关配置(例如停用词等)不在此处显示。关于创建词典的语法和更多参数,请参见CREATE TEXT SEARCH DICTIONARY。 创建词典后,将其绑定到对应文本搜索配置中需要处理的token类型上: 1 2 3 gaussdb=# ALTER TEXT SEARCH CONFIGURATION russian ALTER MAPPING FOR asciiword, asciihword, hword_asciipart WITH thesaurus_astro, english_stem; 使用TZ词典。 测试TZ词典。 ts_lexize函数对于测试TZ词典作用不大,因为该函数是按照单个token处理输入。可以使用plainto_tsquery、to_tsvector、to_tsquery函数测试TZ词典,这些函数能够将输入分解成多个token(to_tsquery函数需要将输入加上引号)。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 gaussdb=# SELECT plainto_tsquery('russian','supernova star'); plainto_tsquery ----------------- 'sn' (1 row) gaussdb=# SELECT to_tsvector('russian','supernova star'); to_tsvector ------------- 'sn':1 (1 row) gaussdb=# SELECT to_tsquery('russian','''supernova star'''); to_tsquery ------------ 'sn' (1 row) 其中,supernova star匹配了词典thesaurus_astro定义中的supernovae stars,这是因为在thesaurus_astro词典定义中指定了Snowball类型的子词典english_stem,该词典移除了e和s。 如果同时需要索引原始短语,只要将其同时放置在词典定义文件中对应定义的右侧即可,如下: 1 2 3 4 5 6 7 8 9 10 11 supernovae stars : sn supernovae stars gaussdb=# ALTER TEXT SEARCH DICTIONARY thesaurus_astro ( DictFile = thesaurus_astro, FILEPATH = 'file:///home/dicts/'); gaussdb=# SELECT plainto_tsquery('russian','supernova star'); plainto_tsquery ----------------------------- 'sn' & 'supernova' & 'star' (1 row)
  • 注意事项 由于TZ词典需要识别短语,所以在处理过程中必须保存当前状态并与解析器进行交互,以决定是否处理下一个token或是结束当前识别。此外,TZ词典配置时需谨慎,如果设置TZ词典仅处理asciiword类型的token,则类似one 7的分类词典定义将不会生效,因为uint类型的token不会传给TZ词典处理。 在索引期间要用到分类词典,因此分类词典参数中的任何变化都要求重新索引。对于其他大多数类型的词典来说,类似添加或删除停用词这种修改并不需要强制重新索引。
  • time_to_target_rpo 参数说明:双集群异地灾备模式下,设置主集群发生异常发生时到已归档到OBS的恢复点所允许的time_to_target_rpo秒。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 取值范围:整型,0~3600(秒) 双集群异地灾备模式下,主集群日志将被归档到OBS。0是指不开启日志流控,1~3600是指设置主集群发生异常发生时到已归档到OBS的恢复点所允许的time_to_target_rpo秒,保证主集群因灾难崩溃时,最多可能丢失的数据的时长在允许范围内。time_to_target_rpo设置时间过小会影响主机的性能,设置过大会失去流控效果。 默认值:10
  • archive_command 参数说明:由管理员设置的用于归档WAL日志的命令,建议归档路径为绝对路径。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 当archive_dest和archive_command同时配置时,WAL日志优先保存到archive_dest所设置的目录中,archive_command配置的命令不生效。 字符串中任何%p都被要归档的文件的绝对路径代替,而任何%f都只被该文件名代替(相对路径都相对于数据目录的)。如果需要在命令里嵌入%字符就必须双写%。 这个命令当且仅当成功的时候才返回零。示例如下: 1 archive_command = 'cp --remove-destination %p /mnt/server/archivedir/%f' --remove-destination选项作用为:拷贝前如果目标文件已存在,会先删除已存在的目标文件,然后执行拷贝操作。 如果归档命令有多条,则需将其写入SHELL脚本文件中,然后将archive_command配置为执行该脚本的命令。示例如下: --假设多条命令如下。 test ! -f dir/%f && cp %p dir/%f --则test.sh脚本内容如下。 test ! -f dir/$2 && cp $1 dir/$2 --归档命令如下。 archive_command='sh dir/test.sh %p %f' 取值范围:字符串 默认值:(disabled)
  • archive_timeout 参数说明:表示归档周期。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 超过该参数设定的时间时强制切换WAL段。 由于强制切换而提早关闭的归档文件仍然与完整的归档文件长度相同。因此,将archive_timeout设为很小的值将导致占用巨大的归档存储空间,建议将archive_timeout设置为60秒。 取值范围:整型,0 ~ 1073741823‬,单位为秒,其中0表示禁用该功能。 默认值:0
  • archive_dest 参数说明:由管理员设置的用于归档WAL日志的目录,建议归档路径为绝对路径。 该参数属于SIGHUP类型参数,请参考表1中对应设置方法进行设置。 当archive_dest和archive_command同时配置时,WAL日志优先保存到archive_dest所设置的目录中,archive_command配置的命令不生效。 字符串中如果是相对路径为相对于数据目录的。示例如下。 1 archive_dest = '/mnt/server/archivedir/' 取值范围:字符串 默认值:空字符串
  • 数据类型介绍 DBE_SQL.DESC_REC 该类型是复合类型,用来存储SQL_DESCRIBE_COLUMNS接口中的描述信息。 DBE_SQL.DESC_REC函数的原型为: 1 2 3 4 5 6 7 8 9 10 11 12 13 CREATE TYPE DBE_SQL.DESC_REC AS ( col_type int, col_max_len int, col_name VARCHAR2(32), col_name_len int, col_schema_name VARCHAR2(32), col_schema_name_len int, col_precision int, col_scale int, col_charsetid int, col_charsetform int, col_null_ok BOOLEAN );
共100000条