• 关于

    describe数据库命令

    的搜索结果

回答

登录到MySQL 当 MySQL 服务已经运行时, 我们可以通过MySQL自带的客户端工具登录到MySQL数据库中, 首先打开命令提示符, 输入以下格式的命名: mysql -h 主机名 -u 用户名 -p -h : 该命令用于指定客户端所要登录的MySQL主机名, 登录当前机器该参数可以省略; -u : 所要登录的用户名; -p : 告诉服务器将会使用一个密码来登录, 如果所要登录的用户名密码为空, 可以忽略此选项。 以登录刚刚安装在本机的MySQL数据库为例, 在命令行下输入 mysql -u root -p 按回车确认, 如果安装正确且MySQL正在运行, 会得到以下响应: Enter password: 若密码存在, 输入密码登录, 不存在则直接按回车登录, 按照本文中的安装方法, 默认 root 账号是无密码的。登录成功后你将会看到 Welecome to the MySQL monitor... 的提示语。 然后命令提示符会一直以 mysql> 加一个闪烁的光标等待命令的输入, 输入 exit 或 quit 退出登录。 创建一个数据库 使用 create database 语句可完成对数据库的创建, 创建命令的格式如下: create database 数据库名 [其他选项]; 例如我们需要创建一个名为 samp_db 的数据库, 在命令行下执行以下命令: create database samp_db character set gbk; 为了便于在命令提示符下显示中文, 在创建时通过 character set gbk 将数据库字符编码指定为 gbk。创建成功时会得到 Query OK, 1 row affected(0.02 sec) 的响应。 注意: MySQL语句以分号(;)作为语句的结束, 若在语句结尾不添加分号时, 命令提示符会以 -> 提示你继续输入(有个别特例, **但加分号是一定不会错的); 提示**: 可以使用 show databases; 命令查看已经创建了哪些数据库。 选择所要操作的数据库 要对一个数据库进行操作, 必须先选择该数据库, 否则会提示错误: ERROR 1046(3D000): No database selected 两种方式对数据库进行使用的选择: 一: 在登录数据库时指定, 命令: mysql -D 所选择的数据库名 -h 主机名 -u 用户名 -p 例如登录时选择刚刚创建的数据库: mysql -D samp_db -u root -p 二: 在登录后使用 use 语句指定, 命令: use 数据库名; use 语句可以不加分号, 执行 use samp_db 来选择刚刚创建的数据库, 选择成功后会提示: Database changed 创建数据库表 使用 create table 语句可完成对表的创建, create table 的常见形式: create table 表名称(列声明); 以创建 students 表为例, 表中将存放 学号(id)、姓名(name)、性别(sex)、年龄(age)、联系电话(tel) 这些内容: create table students ( id int unsigned not null auto_increment primary key, name char(8) not null, sex char(4) not null, age tinyint unsigned not null, tel char(13) null default "-" ); 对于一些较长的语句在命令提示符下可能容易输错, 因此我们可以通过任何文本编辑器将语句输入好后保存为 createtable.sql 的文件中, 通过命令提示符下的文件重定向执行执行该脚本。 打开命令提示符, 输入: mysql -D samp_db -u root -p < createtable.sql (提示: 1.如果连接远程主机请加上 -h 指令; 2. createtable.sql 文件若不在当前工作目录下需指定文件的完整路径。) 语句解说: create table tablename(columns) 为创建数据库表的命令, 列的名称以及该列的数据类型将在括号内完成; 括号内声明了5列内容, id、name、sex、age、tel为每列的名称, 后面跟的是数据类型描述, 列与列的描述之间用逗号(,)隔开; 以 "id int unsigned not null auto_increment primary key" 行进行介绍: "id" 为列的名称; "int" 指定该列的类型为 int(取值范围为 -8388608到8388607), 在后面我们又用 "unsigned" 加以修饰, 表示该类型为无符号型, 此时该列的取值范围为 0到16777215; "not null" 说明该列的值不能为空, 必须要填, 如果不指定该属性, 默认可为空; "auto_increment" 需在整数列中使用, 其作用是在插入数据时若该列为 NULL, MySQL将自动产生一个比现存值更大的唯一标识符值。在每张表中仅能有一个这样的值且所在列必须为索引列。 "primary key" 表示该列是表的主键, 本列的值必须唯一, MySQL将自动索引该列。 下面的 char(8) 表示存储的字符长度为8, tinyint的取值范围为 -127到128, default 属性指定当该列值为空时的默认值。 更多的数据类型请参阅 《MySQL数据类型》 : http://www.cnblogs.com/zbseoag/archive/2013/03/19/2970004.html 提示: 1. 使用 show tables; 命令可查看已创建了表的名称; 2. 使用 describe 表名; 命令可查看已创建的表的详细信息。
你的答案 2020-05-06 16:47:18 0 浏览量 回答数 0

问题

分析型数据库如何导入数据?

1.5 导入数据 分析型数据库支持多种接入数据的方式: 通过Kettle等ETL工具将本地文件写入分析型数据库。通过阿里云数据传输从阿里云RDS中实时同步数据变更。(见《用户指南》相关使用阿里云数据传输实时同...
nicenelly 2019-12-01 21:24:58 1176 浏览量 回答数 0

问题

分析型数据库如何导入数据

1.5 导入数据 分析型数据库支持多种接入数据的方式: 通过Kettle等ETL工具将本地文件写入分析型数据库。通过阿里云数据传输从阿里云RDS中实时同步数据变更。(见《用户指南》相关使用阿里云数据传输实时同...
nicenelly 2019-12-01 21:09:37 1235 浏览量 回答数 0

云数据库新人专场

MySQL年付低至19.9,其它热门产品1元起购!

问题

Data Pipeline海量数据如何导出?

分析型数据库的查询模式适合在海量数据中进行分析计算后输出适量数据,若需要输出的数据量达到一定规模,分析型数据库提供数据导出(DUMP)的方式。注意目前DUMP方式中不能使用针对非分区列...
nicenelly 2019-12-01 21:25:33 1203 浏览量 回答数 0

问题

Data Pipeline海量数据如何导出?

分析型数据库的查询模式适合在海量数据中进行分析计算后输出适量数据,若需要输出的数据量达到一定规模,分析型数据库提供数据导出(DUMP)的方式。注意目前DUMP方式中不能使用针对非分区列...
nicenelly 2019-12-01 21:10:57 1250 浏览量 回答数 0

问题

Kubernetes服务运行良好,但无法从外面访问

我正在尝试使用kubernetes在mongo数据库和nodejs应用程序之间进行通信。一切都运行良好。但我无法从外部环境访问我的api。我也无法telnet端口。 apiVersion: v1kind: Servicemetadata: ...
k8s小能手 2019-12-01 19:34:03 632 浏览量 回答数 1

问题

Data Pipeline数据如何导入?

分析型数据库支持多种数据入库方式,包括但不限于: (1)内置将MaxCompute中的海量数据快速批量导入; (2)支持标准的insert/d...
nicenelly 2019-12-01 21:25:32 1171 浏览量 回答数 0

问题

Data Pipeline数据如何导入?

分析型数据库支持多种数据入库方式,包括但不限于: (1)内置将MaxCompute中的海量数据快速批量导入; (2)支持标准的insert/d...
nicenelly 2019-12-01 21:10:55 1411 浏览量 回答数 0

问题

分析型数据库如何导入数据?

分析型数据库支持多种接入数据的方式,您可以直接将数据通过insert/deleteSQL写入实时表(详见使用手册第四章),或通过Kettle等ETL工具将本地文件写入分析型数据库&#x...
nicenelly 2019-12-01 21:25:01 1128 浏览量 回答数 0

问题

分析型数据库如何导入数据?

分析型数据库支持多种接入数据的方式,您可以直接将数据通过insert/delete SQL写入实时表(详见使用手册第四章),或通过Kettle等ETL工具将本地文件写入分析型数据库&#...
nicenelly 2019-12-01 21:10:00 1170 浏览量 回答数 0

问题

LM计算引擎 DUMP语法是什么?

分析型数据库的查询模式适合在海量数据中进行分析计算后输出适量数据,若需要输出的数据量达到一定规模,分析型数据库提供数据导出(DUMP)的方式。注意目前DUMP方式中不能使用针对非分区列...
nicenelly 2019-12-01 21:25:23 1087 浏览量 回答数 0

问题

LM计算引擎 DUMP语法是什么?

分析型数据库的查询模式适合在海量数据中进行分析计算后输出适量数据,若需要输出的数据量达到一定规模, 分析型数据库提供数据导出(DUMP)的方式。注意目前DUMP方式中不能使用针对非分区...
nicenelly 2019-12-01 21:10:47 1237 浏览量 回答数 0

问题

在MySQL中删除主键?mysql

我有以下表模式,它将user_customers映射到实时MySQL数据库的权限: mysql> describe user_customer_permission; +-------------...
保持可爱mmm 2020-05-17 17:00:33 0 浏览量 回答数 1

回答

背景 Cromwell 的 Call Caching 功能如何开启和关闭? 在一些场景下,提交工作流时不想使用 Call Caching,需要无条件执行,该如何设置? 工作流重新提交后,有一些 task 预期不需要重新执行,但依然执行了,Call Caching 疑似没有生效,怎么查看原因? 本篇文档将对 Call Caching 的使用做一个详细的介绍,包括功能的开启和关闭、如何通过查看元数据的方式,确认 Call Caching 未生效的原因等。 Call Caching 设置 配置文件中设置全局 Call Caching 开关状态 如果要使用 Cromwell 的 Call Caching 功能,需要在 Server 的配置文件中设置: call-caching { # Allows re-use of existing results for jobs you have already run # (default: false) enabled = true # Whether to invalidate a cache result forever if we cannot reuse them. Disable this if you expect some cache copies # to fail for external reasons which should not invalidate the cache (e.g. auth differences between users): # (default: true) invalidate-bad-cache-results = true } call-caching.enabled 是 Call Caching 功能的开关,可以按照自己的需求开启和关闭。 在 Option 中设置单个 Workflow 是否使用 Call Caching 在 Call Caching 功能全局开启的状态下,提交工作流时,可以通过携带如下两个 option 选项设置本次执行是否使用 Call Caching: { "write_to_cache": true, "read_from_cache": true } write_to_cache: 表示本次 workflow 执行结果是否写入 Cache,实际上就是是否给后面的工作流复用。默认是 true。 read_from_cache: 表示本次 workflow 执行是否从 Cache 中读取之前的结果,也就是是否复用以前的结果,默认是 true,如果设置为 false,表示本次执行不使用 Call Caching,强制执行。 查看元数据 工作流执行时,每一个 task 的每一个 call(对应批量计算的一个作业)都会有 metadata,记录了这个步骤的运行过程,当然也包括 Call Caching 的详细信息,通过下面的命令可以查询一个工作流的 metadata: widdler query -m [WorkflowId] 在元数据信息中找到对应的 task 的详细信息,比如: { "callRoot": "oss://gene-test/cromwell_test/GATK4_VariantDiscovery_pipeline_hg38/53cfd3fc-e9d5-4431-83ec-be6c51ab9365/call-HaplotypeCaller/shard-10", "inputs": { "gatk_path": "/gatk/gatk", "ref_fasta": "oss://genomics-public-data-shanghai/broad-references/hg38/v0/Homo_sapiens_assembly38.fasta", "cluster_config": "OnDemand ecs.sn2ne.xlarge img-ubuntu-vpc", "input_bam_index": "oss://gene-test/cromwell_test/GATK4_VariantDiscovery_pipeline_hg38/cf55a2d1-572c-4490-8edf-07656802a79b/call-GatherBamFiles/NA12878.hg38.ready.bam.bai", "output_filename": "NA12878.hg38.vcf.gz", "contamination": null, "ref_fasta_index": "oss://genomics-public-data-shanghai/broad-references/hg38/v0/Homo_sapiens_assembly38.fasta.fai", "ref_dict": "oss://genomics-public-data-shanghai/broad-references/hg38/v0/Homo_sapiens_assembly38.dict", "interval_list": "/home/data/GATK_human_genome_resource_bundle/hg38_from_GCP/hg38_wgs_scattered_calling_intervals/temp_0047_of_50/scattered.interval_list", "input_bam": "oss://gene-test/cromwell_test/GATK4_VariantDiscovery_pipeline_hg38/cf55a2d1-572c-4490-8edf-07656802a79b/call-GatherBamFiles/NA12878.hg38.ready.bam.bam", "docker_image": "registry.cn-shanghai.aliyuncs.com/wgs_poc/poc:4.0.10.1" }, "returnCode": 0, "callCaching": { "allowResultReuse": true, "hashes": { "output expression": { "File output_vcf_index": "A162250CB6F52CC32CB75F5C5793E8BB", "File output_vcf": "7FD061EEA1D3C63912D7B5FB1F3C5218" }, "runtime attribute": { "userData": "N/A", "docker": "F323AFFA030FBB5B352C60BD7D615255", "failOnStderr": "68934A3E9455FA72420237EB05902327", "imageId": "N/A", "continueOnReturnCode": "CFCD208495D565EF66E7DFF9F98764DA" }, "output count": "C81E728D9D4C2F636F067F89CC14862C", "input count": "D3D9446802A44259755D38E6D163E820", "command template": "9104DF40289AB292A52C2A753FBF58D2", "input": { "File interval_list": "04dc2cb895d13a40657d5e2aa7d31e8c", "String output_filename": "2B77B986117FC94D088273AD4D592964", "File ref_fasta": "9A513FB0533F04ED87AE9CB6281DC19B-400", "File input_bam_index": "D7CA83047E1B6B8269DF095F637621FE-1", "String gatk_path": "EB83BBB666B0660B076106408FFC0A9B", "String docker_image": "0981A914F6271269D58AA49FD18A6C13", "String cluster_config": "B4563EC1789E5EB82B3076D362E6D88F", "File ref_dict": "3884C62EB0E53FA92459ED9BFF133AE6", "File input_bam": "9C0AC9A52F5640AA06A0EBCE6A97DF51-301", "File ref_fasta_index": "F76371B113734A56CDE236BC0372DE0A" }, "backend name": "AE9178757DD2A29CF80C1F5B9F34882E" }, "effectiveCallCachingMode": "ReadAndWriteCache", "hit": false, "result": "Cache Miss" }, "stderr": "oss://gene-test/cromwell_test/GATK4_VariantDiscovery_pipeline_hg38/53cfd3fc-e9d5-4431-83ec-be6c51ab9365/call-HaplotypeCaller/shard-10/stderr", "shardIndex": 10, "stdout": "oss://gene-test/cromwell_test/GATK4_VariantDiscovery_pipeline_hg38/53cfd3fc-e9d5-4431-83ec-be6c51ab9365/call-HaplotypeCaller/shard-10/stdout", "outputs": { "output_vcf": "oss://gene-test/cromwell_test/GATK4_VariantDiscovery_pipeline_hg38/53cfd3fc-e9d5-4431-83ec-be6c51ab9365/call-HaplotypeCaller/shard-10/NA12878.hg38.vcf.gz", "output_vcf_index": "oss://gene-test/cromwell_test/GATK4_VariantDiscovery_pipeline_hg38/53cfd3fc-e9d5-4431-83ec-be6c51ab9365/call-HaplotypeCaller/shard-10/NA12878.hg38.vcf.gz.tbi" }, "commandLine": "set -e\n\n /gatk/gatk --java-options "-Xmx4g -Xmx4g" \\n HaplotypeCaller \\n -R /cromwell_inputs/73a7571e/Homo_sapiens_assembly38.fasta \\n -I /cromwell_inputs/02f1b5ca/NA12878.hg38.ready.bam.bam \\n -L /home/data/GATK_human_genome_resource_bundle/hg38_from_GCP/hg38_wgs_scattered_calling_intervals/temp_0047_of_50/scattered.interval_list \\n -O NA12878.hg38.vcf.gz \\n -contamination 0", "attempt": 1, "jobId": "job-000000005DB051A800006F970001CAC8", "start": "2019-10-25T02:38:03.522Z", "backendStatus": "Finished", "runtimeAttributes": { "cluster": "Right(AutoClusterConfiguration(OnDemand,ecs.sn2ne.xlarge,img-ubuntu-vpc,None,None,None))", "continueOnReturnCode": "0", "failOnStderr": "false", "vpc": "BcsVpcConfiguration(Some(10.20.200.0/24),Some(vpc-uf61zj30k0ebuen0xi7ci))", "mounts": "BcsInputMount(Right(nas://10.20.66.4:/data/ali_yun_test/),Left(/home/data),true)", "docker": "BcsDockerWithoutPath(registry.cn-shanghai.aliyuncs.com/wgs_poc/poc:4.0.10.1)", "autoReleaseJob": "false", "maxRetries": "0" }, "executionStatus": "Done", "end": "2019-10-25T03:22:23.481Z", "executionEvents": [ { "endTime": "2019-10-25T03:22:21.626Z", "description": "RunningJob", "startTime": "2019-10-25T02:38:03.645Z" }, { "endTime": "2019-10-25T03:22:22.481Z", "description": "UpdatingCallCache", "startTime": "2019-10-25T03:22:21.626Z" }, { "endTime": "2019-10-25T02:38:03.645Z", "description": "CallCacheReading", "startTime": "2019-10-25T02:38:03.643Z" }, { "endTime": "2019-10-25T02:38:03.522Z", "description": "Pending", "startTime": "2019-10-25T02:38:03.522Z" }, { "endTime": "2019-10-25T02:38:03.542Z", "description": "WaitingForValueStore", "startTime": "2019-10-25T02:38:03.542Z" }, { "endTime": "2019-10-25T03:22:23.481Z", "description": "UpdatingJobStore", "startTime": "2019-10-25T03:22:22.481Z" }, { "endTime": "2019-10-25T02:38:03.643Z", "description": "PreparingJob", "startTime": "2019-10-25T02:38:03.542Z" }, { "endTime": "2019-10-25T02:38:03.542Z", "description": "RequestingExecutionToken", "startTime": "2019-10-25T02:38:03.522Z" } ], "backend": "BCS" } 在上面的元数据中,有一项 callCaching,主要记录了如下信息: allowResultReuse:是否允许其他工作流复用。 如果当前工作流设置了不允许写入 Cache,则不可以复用 如果当前工作流设置了允许写入 Cache,则只有任务执行成功,才允许复用 hashes:当前任务的输入、输出、运行时等参数的 hash 记录,用于比对两次运行条件是否一样。 effectiveCallCachingMode:Call Caching 的模式,比如是否从 Cache 中读取,或者是否写入 Cache 等。 hit:当前任务在 Cache 是否命中。 result:当前任务在 Cache 中命中的详情,比如哪个工作流的哪个 task 的哪个 shard。 综合上面的解释,我们看到实例中的这个 call, 是 GATK4_VariantDiscovery_pipeline_hg38 这个工作流的 HaplotypeCaller 这个 task 的10号 shard,Call Cache 情况如下: 未在 Cache 中命中,完整的执行了一次 执行成功,可以允许后的流程复用 Call Caching 未生效问题排查 如果遇到不符合预期的 task,可以通过如下步骤排查原因: 查看当前 workflow 重新执行的 task 的 Call Caching 元数据 如果当前 task 的 Call Caching 的模式是不使用Cache(可能是提交作业时设置了不使用 Call Caching 的选项),则不会去利用之前的结果,确实会强制重新执行,是符合预期的 如果当前 task 未命中 Cache,则需要查看之前的 workflow, 进一步确认未命中的原因 查看之前的 workflow 的 task 的 CalCaching 元数据,确认之前的 task 是否执行成功,是否可以复用 如果之前的 task 的 不允许复用,可能是执行失败了,或者虽然执行成功,但 Cache 模式设置的不写入 Cache,即不允许复用 如果之前的 task 允许复用,但未命中,则需要比较两次的 hash 记录,可能是由于 Call Caching 相关的参数变化引起的 背景 Cromwell server 的启动需要以下组件配合: 启动 Mysql 的 docker 容器作为 Crowmell 的持久化数据库,包括配置用户名,密码等 填写 Cromwell 配置文件,包括 BCS 后端配置及数据库等配置 使用 Cromwell 的 jar 包,启动 server 实际上 Cromwell 除了发布 jar 包,也会发布对应的 docker 镜像,我们可以考虑使用 docker-compose来简化以上步骤。docker-compose 是 Docker 官方的开源项目,其定位是定义和运行多个 Docker 容器的应用(Defining and running multi-container Docker applications)。 使用docker-compose 可以将容器化的 Cromwell 和 Mysql 两个 service 拉起,作为一个应用来运行。再配合脚本来简化配置,可以将 Cromwell 的服务做成一键启停。 开通 ECS 作为 Crowmell server 首先使用 Cromwell server 镜像开通一台 ECS,ssh 登入机器后,可以运行目录下的cromwell-server.sh,进行Cromwell Server的管理: ./cromwell-server.sh cromwell-server.sh - init cromwell config and start/stop service Usage: cromwell-server.sh [options...] [init/start/stop/status] Options: --id=STRING Access id --key=STRING Access key --root=STRING Oss root for cromwell, e.g: oss://my-bucket/cromwell/ --instance=STRING default runtime: instance type [ecs.sn1.medium] --image=STRING default runtime: image id [img-ubuntu-vpc] 第一次配置与启动服务 初次使用,需要做一些初始配置,可以使用下面的命令完成一键初始化与启动: ./cromwell-server.sh init --id=LTAI8xxxxx --key=vVGZVE8qUNjxxxxxxxx --root=oss://gtx-wgs-demo/cromwell/ 上面的命令完成了以下配置: --id: 批量计算的 Access Id --key: 批量计算的 Access Key --root: Crowmell 运行时在 OSS 上的工作根目录 --instance: Cromwell 默认运行时参数,实例类型 --image: Cromwell 默认运行时参数,镜像ID执行完以上命令后,会根据 Crowmell 配置文件模板生成配置文件,并通过 docker-compose 启动 Cromwell server,并在后台运行。 服务启动后,就可以通过镜像中的命令行工具 widdler 执行工作流的提交: cd /home/cromwell/cromwell/ widdler run echo.wdl inputs.json -o bcs_workflow_tag:test_echo 停止服务 使用下面的命令可以一键停止服务: ./cromwell-server stop 再次启动服务 在已经完成配置的情况下,使用下面的命令,可以完成服务启动: ./cromwell-server start 重新配置并启动服务 如果需要修改配置,在服务停止的情况下,再次使用 init 命令可以完成新配置重新启动: ./cromwell-server.sh init --id=LTAI8xxxxx --key=vVGZVE8qUNjxxxxxxxx --root=oss://gtx-wgs-demo/cromwell/ 使用option文件设置默认运行时参数 在 Crowmell 的配置文件中,可以设置每个 backend 的默认运行时参数 default-runtime-attibutes,也可以在提交工作流时通过 option 覆盖原有设置。 所以如果您在提交工作流时用到了数据盘、NAS等,都可以在 option 文件中设置: { "default_runtime_attributes": { "vpc": "192.168.0.0/24", "autoReleaseJob": true, "mounts": "nas://1f****04-xkv88.cn-beijing.nas.aliyuncs.com:/ /mnt/ true", "dataDisk": "cloud_ssd 250 /home/mount/" }, "bcs_workflow_tag": "Tagxxx", "read_from_cache": true } 使用 widdler 命令行的 -O (大写的O)参数提交 option 文件: widdler run echo.wdl inputs.json -O options.json 在 Cromwell Server 配置完成后,如何快捷的进行提交、停止工作流、流程失败后如何快速定位问题以及工作流完成后如何如何快速查看运行日志、查看工作流的 Metrics 信息、工作流产生的费用等手段,这些问题就变成了 server 运维工作的基本诉求。 Cromwell 以 server 的方式运行后是支持通过 API 接口获取以上信息的,但是有二次开发的工作量;而 widdler 是针对 Cromwell Server API 接口开发的命令行工具,通过 widdler 命令行工具减少运维成本。 本文主要介绍阿里云对 widdler 工具的扩展,通过 widdler 工具查询指定工作流的作业运行状态、后端引擎的运行时信息、费用查询、问题定位调查以及子任务日志查看等功能。 widdler 安装 widdler 默认在阿里云批量计算提供的 Cromwell server 镜像中安装。可以直接使用,无需做安装操作。 配置 widdler 由于涉及到个人阿里云运行数据的查询,需要在使用之前设置对应账号的 AK 信息、以及后端执行引擎所部署的region信息。 config 命令格式: widdler config -i id -k key -r cn-zhangjiakou 3. 校验 WDL 提交工作流之前对 WDL 做语法校验,排除部分低级问题;减少后续提交工作流后由于低级问题导致的流程失败。 validate 命令格式: widdler validate echo.wdl inputs.json 4. 提交工作流 run 命令格式: widdler run echo.wdl inputs.json -l test 其中:test 为 label,可以根据样本进行打标签,后续可以按 label 做过滤。 终止工作流 命令格式: widdler abort workflowId abort 获取工作流 6.1 获取工作流列表 命令格式: widdler query query 其中:默认获取当前 user 7 天内的工作流信息;可以根据 user label等信息来筛选工作流信息;其他使用方法参考 help 信息。 6.2 获取工作流 Meta 命令格式: widdler query workflowId 7. 获取工作流运行状态 命令格式: widdler describe workflowId describe 其中:”stepName” 表示工作流的某个自步骤的名称;”status” 表示当前步骤的运行状态”成功、失败、运行中”;”progress” 表示当前步骤的进度,如”4/4” 表示当前步骤存在4个子任务全部执行完成; 若是”2/4” 则表示当前步骤存在4个任务,已经完成2个。”elapse”表示当前步骤的所有子任务执行总耗时时间(不包括机器的启动时间); “coretime”表示当前步骤所有子任务消耗的核时时间(不包括机器的启动时间)。 命令格式: widdler describe workflowId -t stepName subdescribe shardIndex 是 Cromwell 将每个 task 的子任务按 shardIndex 做索引,对应的是批量计算的一个作业。通过该命令可以看到指定 task 对应的统计信息。 获取工作流统计信息 命令格式: widdler stat workflowId stat 其中:”cpuCore” 表示当前步骤中使用对应实例的 CPU 核数,”cpuUsage” 表示当前步骤所有任务从开始到当前(若当前任务结束状态则表示从开始到结束)的 CPU 平均利用率;”memSize” 表示当前步骤中使用对应实例的内存大小,”memUsage” 表示当前步骤中所有任务从开始到当前的MEM平均利用率;”sysDisk” 表示当前步骤实例的系统盘大小(默认 40GB),”sysDiskUsage” 表示当前步骤的所有任务在当前时间点的磁盘平均利用率;”dataDisk” 表示实例的数据盘大小(默认没有),”dataDiskUsage” 表示当前步骤的所有任务在当前时间点的磁盘平均利用率。 命令格式: widdler stat workflowId -t stepName substat 查询某个步骤对应的 Metrics 信息;可能某个步骤存在多个 scatter,那么每个 scatter 运行情况如何,则可以通过本命令获取到。 获取工作流费用 命令格式: widdler billing workflowId newbill 获取工作流运行日志 命令格式: widdler log workflowId 通过 log 查询命令,可以查看工作流的实际运行情况,执行过程是否符合预期可以通过该命令做到一键查看。stdout 以及 stderr 日志小于 1MB 的,会直接在屏幕上显示出来;超过 1MB 的需要借助 OSS 工具查看。 log 工作流问题定位 命令格式: widdler explain workflowId 通过该命令可以一键查询工作流失败的原因,展示出现问题的步骤,输出该步骤的对应失败任务的 stdout 以及 stderr 信息,快速排查问题。 explain 更多其他功能请参考 widdler 的帮助信息
1934890530796658 2020-03-28 21:40:48 0 浏览量 回答数 0

问题

如何使用CREATE TABLE数据定义语言

该语句用于在OceanBase数据库中创建新表。 格式 CREATE TABLE [IF NOT EXIST] tblname (create_definition,...)[table_options] [partition_option...
云栖大讲堂 2019-12-01 21:28:42 1357 浏览量 回答数 0

回答

在用户开通容器服务时,需要授予名称为 AliyunCSDefaultRole、AliyunCSServerlessKubernetesRole、AliyunCSClusterRole、AliyunCSManagedKubernetesRole 和 KubernetesAuditRole 的系统默认角色给服务账号,当且仅当该角色被正确授予后,容器服务才能正常地调用相关服务(ECS,OSS、NAS、SLB 等),创建集群以及保存日志等。本文介绍如何给服务账号进行授权及授权角色包含的权限。 使用说明 如果您是在2018年1月15日之前使用过容器服务的用户,系统将默认完成角色授权,详细的授权权限内容请参见AliyunCSDefaultRole 角色的权限内容。如果您之前是通过子账号使用,您需要对子账号进行策略升级,参见自定义 RAM 授权策略。 2018年1月15日全面接入跨服务授权后,新用户使用主账号只有进行了跨服务授权才能使用容器服务产品。如果新用户需要授权子账号使用容器服务,需要自行前往RAM控制台进行授权,详细操作参见使用子账号。 操作步骤 在容器服务 ACK产品页面,单击管理控制台进入容器服务管理控制台。 单击前往RAM进行授权进入云资源访问授权页面,然后单击同意授权。 授权 说明 如果您创建的是托管版集群,还需同意授权 KubernetesAuditRole 角色访问云产品中的资源。 如果您需修改容器服务已经设置好默认的角色权限,请在 RAM 控制台角色管理中设置。需注意错误的配置可能导致容器服务无法获取到必要的权限。 完成以上授权后,刷新容器服务控制台,然后您就可以进行正常操作。 如果您想查看 AliyunCSDefaultRole、AliyunCSServerlessKubernetesRole、AliyunCSClusterRole、AliyunCSManagedKubernetesRole 和 KubernetesAuditRole 角色的详细策略信息,可以登录RAM 的控制台进行查看。 AliyunCSDefaultRole 角色的权限内容 关于各个角色权限的详细信息,请参考各个产品的 API 文档。 ECS 相关权限 权限名称(Action) 权限说明 ecs:RunInstances 启动 ECS 实例。 ecs:RenewInstance ECS 实例续费。 ecs:Create* 创建 ECS 相关资源,如实例、磁盘等。 ecs:AllocatePublicIpAddress 分配公网 IP 地址。 ecs:AllocateEipAddress 分配 EIP 地址。 ecs:Delete* 删除机器实例。 ecs:StartInstance 启动 ECS 相关资源。 ecs:StopInstance 停止机器实例。 ecs:RebootInstance 重启机器实例 ecs:Describe* 查询 ECS 相关资源 ecs:AuthorizeSecurityGroup 设置安全组入规则 ecs:RevokeSecurityGroup 撤销安全组规则 ecs:AuthorizeSecurityGroupEgress 设置安全组出规则 ecs:AttachDisk 添加磁盘 ecs:DetachDisk 清理磁盘 ecs:AddTags 添加标签 ecs:ReplaceSystemDisk 更换 ECS 实例的系统盘 ecs:ModifyInstanceAttribute 修改实例属性 ecs:JoinSecurityGroup 将实例加入到指定的安全组 ecs:LeaveSecurityGroup 将实例移出指定的安全组 ecs:UnassociateEipAddress 解绑弹性公网 IP ecs:ReleaseEipAddress 释放弹性公网 IP VPC 相关权限 权限名称(Action) 权限说明 vpc:Describe* 查询 VPC 相关资源的信息 vpc:DescribeVpcs 查询 VPC 信息 vpc:AllocateEipAddress 分配 EIP 地址 vpc:AssociateEipAddress 关联 EIP 地址 vpc:UnassociateEipAddress 不关联 EIP 地址 vpc:ReleaseEipAddress 释放弹性公网 IP vpc:CreateRouteEntry 创建路由接口 vpc:DeleteRouteEntry 删除路由接口 SLB 相关权限 权限名称(Action) 权限说明 slb:Describe* 查询负载均衡相关信息。 slb:CreateLoadBalancer 创建负载均衡实例 slb:DeleteLoadBalancer 删除负载均衡实例 slb:RemoveBackendServers 解绑负载均衡实例 slb:StartLoadBalancerListener 启动指定的监听服务 slb:StopLoadBalancerListener 停止指定的监听服务。 slb:CreateLoadBalancerTCPListener 为负载均衡实例创建基于 TCP 协议的监听规则 slb:AddBackendServers 添加后端服务器 AliyunCSClusterRole 角色的权限内容 默认角色 AliyunCSClusterRole 包含的主要权限信息如下: OSS 相关权限 权限名称(Action) 权限说明 oss:PutObject 上传文件或文件夹对象 oss:GetObject 获取文件或文件夹对象 oss:ListObjects 查询文件列表信息 NAS 相关权限 权限名称(Action) 权限说明 nas:Describe* 返回 NAS 相关信息 nas:CreateAccessRule 创建权限规则 SLB 相关权限 权限名称(Action) 权限说明 slb:Describe* 查询负载均衡相关信息。 slb:CreateLoadBalancer 创建负载均衡实例 slb:DeleteLoadBalancer 删除负载均衡实例 slb:RemoveBackendServers 解绑负载均衡实例 slb:StartLoadBalancerListener 启动指定的监听服务 slb:StopLoadBalancerListener 停止指定的监听服务。 slb:CreateLoadBalancerTCPListener 为负载均衡实例创建基于 TCP 协议的监听规则 slb:AddBackendServers 添加后端服务器 slb:DeleteLoadBalancerListener 删除负载均衡实例监听规则 slb:CreateVServerGroup 创建虚拟服务器组,并添加后端服务器 slb:ModifyVServerGroupBackendServers 改变虚拟服务器组中的后端服务器 slb:CreateLoadBalancerHTTPListener 为负载均衡实例创建基于 HTTP 协议的监听。 slb:SetBackendServers 配置后端服务器,为负载均衡实例后端的一组服务器(ECS 实例)配置权重值 slb:AddTags 为 SLB 实例添加标签 AliyunCSManagedKubernetesRole 角色的权限内容 ECS 相关权限 权限名称(Action) 权限说明 ecs:Describe* 查询 ECS 相关资源。 ecs:CreateRouteEntry 创建路由接口。 ecs:DeleteRouteEntry 删除路由接口。 ecs:CreateNetworkInterface 创建一个弹性网卡(ENI)。 ecs:DeleteNetworkInterface 删除一个弹性网卡(ENI)。 ecs:CreateNetworkInterfacePermission 创建弹性网卡(ENI)权限。 ecs:DeleteNetworkInterfacePermission 删除弹性网卡(ENI)权限。 SLB 相关权限 权限名称(Action) 权限说明 slb:Describe* 查询负载均衡相关资源。 slb:CreateLoadBalancer 创建负载均衡实例。 slb:DeleteLoadBalancer 删除负载均衡实例。 slb:ModifyLoadBalancerInternetSpec 修改公网负载均衡实例的计费方式。 slb:RemoveBackendServers 移除后端服务器。 slb:AddBackendServers 添加后端服务器。 slb:RemoveTags 解绑指定负载均衡实例下的标签。 slb:AddTags 为指定的负载均衡实例添加标签。 slb:StopLoadBalancerListener 停止监听。 slb:StartLoadBalancerListener 启动监听。 slb:SetLoadBalancerHTTPListenerAttribute 修改 HTTP 监听的配置。 slb:SetLoadBalancerHTTPSListenerAttribute 修改 HTTPS 监听的配置。 slb:SetLoadBalancerTCPListenerAttribute 修改 TCP 监听的配置。 slb:SetLoadBalancerUDPListenerAttribute 修改 UDP 协议监听的配置。 slb:CreateLoadBalancerHTTPSListener 为负载均衡实例创建基于 HTTPS 协议的监听。 slb:CreateLoadBalancerHTTPListener 为负载均衡实例创建基于 HTTP 协议的监听。 slb:CreateLoadBalancerTCPListener 为负载均衡实例创建基于 TCP 协议的监听规则。 slb:CreateLoadBalancerUDPListener 创建 UDP 监听。 slb:DeleteLoadBalancerListener 删除负载均衡实例监听规则。 slb:CreateVServerGroup 向指定的后端服务器组中添加后端服务器。 slb:DescribeVServerGroups 查询服务器组列表。 slb:DeleteVServerGroup 删除服务器组。 slb:SetVServerGroupAttribute 修改虚拟服务器组的配置。 slb:DescribeVServerGroupAttribute 查询服务器组的详细信息。 slb:ModifyVServerGroupBackendServers 替换服务器组中的后端服务器。 slb:AddVServerGroupBackendServers 向指定的后端服务器组中添加后端服务器。 slb:ModifyLoadBalancerInstanceSpec 修改负载均衡的实例规格。 slb:ModifyLoadBalancerInternetSpec 修改公网负载均衡实例的计费方式。 slb:RemoveVServerGroupBackendServers 从指定的后端服务器组中移除后端服务器。 VPC 相关权限 权限名称(Action) 权限说明 Describe* 查询 VPC 相关资源的信息。 DeleteRouteEntry 删除自定义路由条目。 CreateRouteEntry 创建自定义路由条目。 ACR 相关权限 权限名称(Action) 权限说明 Get* 查询容器镜像服务相关资源。 List* 查看容器镜像仓库列表。 PullRepository 拉取镜像。 AliyunCSServerlessKubernetesRole 角色的权限内容 VPC 相关权限 权限名称(Action) 权限说明 DescribeVSwitches 查询已创建的交换机。 DescribeVpcs 查询已创建的 VPC。 AssociateEipAddress 将弹性公网 IP(EIP)绑定到同地域的云产品实例上。 DescribeEipAddresses 查询指定地域已创建的 EIP。 AllocateEipAddress 申请弹性公网 IP(EIP)。 ReleaseEipAddress 释放指定的弹性公网 IP(EIP)。 ECS 相关权限 权限名称(Action) 权限说明 DescribeSecurityGroups 查询您创建的安全组的基本信息。 CreateNetworkInterface 创建一个弹性网卡(ENI)。 CreateNetworkInterfacePermission 创建弹性网卡(ENI)权限。 DescribeNetworkInterfaces 查看弹性网卡(ENI)列表。 AttachNetworkInterface 附加一个弹性网卡(ENI)到一台专有网络 VPC 类型 ECS 实例上。 DetachNetworkInterface 从一台 ECS 实例上分离一个弹性网卡(ENI)。 DeleteNetworkInterface 删除一个弹性网卡(ENI)。 DeleteNetworkInterfacePermission 删除弹性网卡(ENI)权限。 SLB 相关权限 权限名称(Action) 权限说明 slb:Describe* 查询负载均衡 SLB 相关资源。 slb:CreateLoadBalancer 创建负载均衡实例。 slb:DeleteLoadBalancer 删除后付费的负载均衡实例。 slb:RemoveBackendServers 移除后端服务器。 slb:StartLoadBalancerListener 启动监听。 slb:StopLoadBalancerListener 停止监听。 slb:DeleteLoadBalancerListener 删除负载均衡实例监听规则。 slb:CreateLoadBalancerTCPListener 为负载均衡实例创建基于 TCP 协议的监听规则。 slb:AddBackendServers* 添加后端服务器。 slb:UploadServerCertificate 上传服务器证书。 slb:CreateLoadBalancerHTTPListener 为负载均衡实例创建基于 HTTP 协议的监听。 slb:CreateLoadBalancerHTTPSListener 为负载均衡实例创建基于 HTTPS 协议的监听。 slb:CreateLoadBalancerUDPListener 创建 UDP 监听。 slb:ModifyLoadBalancerInternetSpec 修改公网负载均衡实例的计费方式。 slb:CreateRules 为指定的 HTTP 或 HTTPS 监听添加转发规则。 slb:DeleteRules 删除转发规则。 slb:SetRule 修改目标虚拟服务器组的转发规则。 slb:CreateVServerGroup 向指定的后端服务器组中添加后端服务器。 slb:SetVServerGroupAttribute 修改虚拟服务器组的配置。 slb:AddVServerGroupBackendServers 向指定的后端服务器组中添加后端服务器。 slb:RemoveVServerGroupBackendServers 从指定的后端服务器组中移除后端服务器。 slb:ModifyVServerGroupBackendServers 替换服务器组中的后端服务器。 slb:DeleteVServerGroup 删除服务器组。 slb:SetLoadBalancerTCPListenerAttribute 修改 TCP 监听的配置。 slb:SetLoadBalancerHTTPListenerAttribute 修改 HTTP 监听的配置。 slb:SetLoadBalancerHTTPSListenerAttribute 修改 HTTPS 监听的配置。 slb:AddTags 为指定的负载均衡实例添加标签。 PVTZ (云解析) 相关权限 权限名称(Action) 权限说明 AddZone 创建 private zone。 DeleteZone 删除 private zone。 DescribeZones 查询用户的 zone 列表。 DescribeZoneInfo 获取指定 zone 的详细信息。 BindZoneVpc 绑定或者解绑 zone 与 VPC 列表两者之间的关系。 AddZoneRecord 添加 prviate zone 的解析记录。 DeleteZoneRecord 删除解析记录。 DeleteZoneRecordsByRR 删除解析记录列表。 DescribeZoneRecordsByRR 查询解析记录列表 DescribeZoneRecords 查询解析记录列表。 ACR 相关权限 权限名称(Action) 权限说明 Get* 查询容器镜像服务相关资源。 List* 查看容器镜像仓库列表。 PullRepository 拉取镜像。 ECI 相关权限 权限名称(Action) 权限说明 CreateContainerGroup 创建一个容器组。 DeleteContainerGroup 删除一个容器组。 DescribeContainerGroups 批量获取容器组信息。 DescribeContainerLog 获取容器组日志信息。 UpdateContainerGroup 更新实例。 UpdateContainerGroupByTemplate 通过模板更新 ECI 实例。 CreateContainerGroupFromTemplate 通过模板创建 ECI 实例。 RestartContainerGroup 重启 ECI 实例。 ExportContainerGroupTemplate 导出用户创建 ECI 的模板。 DescribeContainerGroupMetric 查询一个 ECI 的监控信息。 DescribeMultiContainerGroupMetric 同时查询多个容器组的监控信息。 ExecContainerCommand 在容器内部执行命令。 CreateImageCache 制作镜像缓存。 DescribeImageCaches 查询镜像缓存信息。 DeleteImageCache 删除镜像缓存。 KubernetesAuditRole 角色的权限内容 权限名称(Action) 权限说明 log:CreateProject 创建一个 Project。 log:GetProject 根据 Project 名称查询 Project。 log:DeleteProject 删除一个指定的 Project。 log:CreateLogStore 在 Project 下创建 Logstore。 log:GetLogStore 查看 Logstore 属性。 log:UpdateLogStore 更新 Logstore 的属性。 log:DeleteLogStore 删除 Logstore。 log:CreateConfig 创建日志采集配置。 log:UpdateConfig 更新配置内容。 log:GetConfig 获取采集配置的详细信息。 log:DeleteConfig 删除指定的日志采集配置。 log:CreateMachineGroup 根据需求创建一组机器,用以日志收集下发配置。 log:UpdateMachineGroup 更新机器组信息。 log:GetMachineGroup 查看具体的 MachineGroup 信息。 log:DeleteMachineGroup 删除机器组。 log:ApplyConfigToGroup 将配置应用到机器组。 log:GetAppliedMachineGroups 获得机器组上已经被应用的机器列表。 log:GetAppliedConfigs 获得机器组上已经被应用的配置名称。 log:RemoveConfigFromMachineGroup 从机器组中删除配置。 log:CreateIndex 为指定 Logstore 创建索引。 log:GetIndex 查询指定 Logstore 的索引。 log:UpdateIndex 更新指定 Logstore 的索引。 log:DeleteIndex 删除指定 Logstore 的索引。 log:CreateSavedSearch 创建快速查询。 log:GetSavedSearch 查看指定快速查询。 log:UpdateSavedSearch 更新快速查询。 log:DeleteSavedSearch 删除快速查询。 log:CreateDashboard 创建仪表盘。 log:GetDashboard 查看指定仪表盘。 log:UpdateDashboard 更新仪表盘。 log:DeleteDashboard 删除仪表盘。 log:CreateJob 创建任务。例如创建告警、订阅。 log:GetJob 查询任务。 log:DeleteJob 删除任务。 log:UpdateJob 更新任务。 log:PostLogStoreLogs 向指定的 Logstore 写入日志数据。
1934890530796658 2020-03-26 11:42:24 0 浏览量 回答数 0

回答

背景 人工智能与机器学习已经被广泛应用到各个领域,近些年来各种各样的训练模型被提出,更多的训练任务跑到了云上。然而上云之后,想要轻松、持久地运行训练任务,仍有一些痛点,例如: 环境搭建:例如如果需要GPU实例,你必须首先购买GPU实例并安装GPU驱动,即便你把训练任务容器化后,还需要安装 gpu runtime hook ,使用 ASK + ECI,这些都不需要你操心 缺乏弹性:环境准备好,任务跑完后,为了节约成本,也许你需要释放闲置资源,下次启动任务时再重新创建实例配置环境,或者是计算节点不够,需要扩容,同样需要再次配置环境,使用ASK+ECI,能真正做到让你根据自己的业务按需使用,按需付费 本文将会介绍如何使用阿里云Serverless Kubernetes(ASK) + ECI,快速完成一个github上基于GPU的 TensorFlow 训练任务。 具体步骤 创建以及操作集群的详细步骤参考:操作Serverless Kubernetes集群的方式 前往容器服务控制台创建 Serverless Kubernetes集群,指定地域、vpc、vSwitch(如果你要走公网拉取镜像,或者训练任务需要出公网,请配置NAT网关)ask-create 集群创建完成后,点【管理】,按照提示完成 kubectl 的安装与配置 为了加速 GPU 镜像的拉取,ECI 提供了 ImageCache 功能,并且通过virtual kubelet无缝集成到Kubernetes CRD 中。第一次需要拉取镜像,时间取决于镜像大小,请耐心等待 创建 ImageCache:kubectl create -f imagecache.yaml imagecache.yaml 内容如下: apiVersion: eci.alibabacloud.com/v1 kind: ImageCache metadata: name: tensorflow spec: images: - registry-vpc.cn-zhangjiakou.aliyuncs.com/eci/tensorflow:1.0 # 训练任务的镜像,建议放到阿里云vpc私网仓库 可以通过命令查询进度:kubectl get imagecache tensorflow 使用镜像缓存,创建训练任务:kubectl create -f gpu_pod.yaml gpu_pod.yaml 内容如下: apiVersion: v1 kind: Pod metadata: name: tensorflow annotations: k8s.aliyun.com/eci-gpu-type: "P4" # GPU规格,或者你可以指定指定和ECS一样的instanceType创建 如:k8s.aliyun.com/eci-instance-type: "ecs.gn5i-c2g1.large" k8s.aliyun.com/eci-image-cache: "true" # 开启镜像缓存自动匹配 spec: containers: - image: registry-vpc.cn-zhangjiakou.aliyuncs.com/eci/tensorflow:1.0 # 训练任务的镜像 name: tensorflow command: - "sh" - "-c" - "python models/tutorials/image/imagenet/classify_image.py" # 触发训练任务的脚本 resources: limits: nvidia.com/gpu: "1" # 容器所需的GPU个数 volumeMounts: - name: nfs-pv mountPath: /tmp/imagenet volumes: - name: nfs-pv # 训练结果持久化到NAS文件存储 nfs: path: /share server: 0912430d-1nsl.cn-zhangjiakou.extreme.nas.aliyuncs.com restartPolicy: OnFailure 使用以下命令查询Pod事件信息和日志 kubectl describe pod tensorflow kubectl logs tensorflowlogs NAS存储里已经有训练完成的数据nas panda 在 ECI 控制台可以看到运行成功的实例,运行成功表示实例已经到达终态,此时ECI会回收底层计算资源,不再对该Pod进行计费eci 总结 使用 ASK + ECI,只需要以下几步,就可以轻松启动一个基于GPU实例的训练任务: 准备好训练模型的容器镜像,准备好训练数据/结果的路径 创建 ASK 集群 准备好3个yaml文件,在集群中依次创建 同时使用此方案的优势: 按需付费,免运维 一次配置,无限次复用 镜像缓存给你带来极致弹性的体验 数据与训练模型解耦,训练数据持久化(ECI同时支持阿里云云盘)
1934890530796658 2020-03-20 18:25:25 0 浏览量 回答数 0

问题

ECS如何部署Node.js项目(CentOS)

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,用来方便地搭建快速的易于扩展的网络应用。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效...
boxti 2019-12-01 21:43:37 1794 浏览量 回答数 0

云产品推荐

上海奇点人才服务相关的云产品 小程序定制 上海微企信息技术相关的云产品 国内短信套餐包 ECS云服务器安全配置相关的云产品 开发者问答 阿里云建站 自然场景识别相关的云产品 万网 小程序开发制作 视频内容分析 视频集锦 代理记账服务 阿里云AIoT