华为云用户手册

  • 响应示例 状态码: 200 OK 请求响应成功。 { "status" : "success", "data" : { "resultType" : "matrix", "result" : [ { "metric" : { "__name__" : "amm_node_status", "clusterId" : "000000-0000-0000-0000-0000000", "hostID" : "c9xxcb-2x6c-4h54-8fcd-f68xx85", "nameSpace" : "default", "nodeIP" : "1xx.1xx.0.1xx", "nodeName" : "sis-xxn-amm" }, "values" : [ [ 1630386780, "0" ], [ 1630388610, "0" ], [ 1630388625, "0" ] ] }, { "metric" : { "__name__" : "amm_node_status", "clusterId" : "00000000-0000-0000-0000-00000000", "hostID" : "ec5xxxb-0xx8-4xxx-bxx-9ecxxf", "nameSpace" : "default", "nodeIP" : "1xx.168.0.1x", "nodeName" : "fdx-ibxxst" }, "values" : [ [ 1630388265, "0" ], [ 1630388280, "0" ], [ 1630388295, "0" ] ] } ] } } 状态码: 400 BadRequest 非法请求。建议直接修改该请求,不要重试该请求。 { "status" : "error", "errorType" : "bad_param", "error" : "param is invalid." } 状态码: 403 Forbidden 请求被拒绝访问。返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 { "status" : "error", "errorType" : "auth", "error" : "auth project_id not pass." } 状态码: 422 Unprocessable 表达式无法执行。 { "status" : "error", "errorType" : "excution", "error" : "expression can't be executed." } 状态码: 503 ServiceUnavailable 被请求的服务无效。建议直接修改该请求,不要重试该请求。 { "status" : "error", "errorType" : "timeout", "error" : "query timed out in query execution." }
  • 状态码 状态码 描述 200 OK 请求响应成功。 400 BadRequest 非法请求。建议直接修改该请求,不要重试该请求。 403 Forbidden 请求被拒绝访问。返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 422 Unprocessable 表达式无法执行。 503 ServiceUnavailable 被请求的服务无效。建议直接修改该请求,不要重试该请求。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 status String 响应状态。 data Object 响应数据。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 status String 响应状态。 errorType String 错误类型。 error String 错误信息。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 status String 响应状态。 errorType String 错误类型。 error String 错误信息。 状态码: 422 表7 响应Body参数 参数 参数类型 描述 status String 响应状态。 errorType String 错误类型。 error String 错误信息。 状态码: 503 表8 响应Body参数 参数 参数类型 描述 status String 响应状态。 errorType String 错误类型。 error String 错误信息。
  • URI POST /v1/{project_id}/aom/api/v1/query_range 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户从 IAM 申请到的projectid,一般为32位字符串。 表2 Query参数 参数 是否必选 参数类型 描述 query 是 String PromQL表达式(参考https://prometheus.io/docs/prometheus/latest/querying/basics/)。 start 是 String 起始时间戳(Unix时间戳格式,单位:秒)。 end 是 String 结束时间戳(Unix时间戳格式,单位:秒)。 step 是 String 查询时间步长,时间区内每step秒执行一次。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 从IAM服务获取的用户Token。 最小长度:1 最大长度:40960 Content-Type 是 String 指定类型为application/json。 最小长度:1 最大长度:32 表3 请求Body参数 参数 是否必选 参数类型 描述 name 否 String 方案名称 最小长度:1 最大长度:64 page_num 否 Integer page_num为正整数 最小值:1 最大值:9999999 page_size 否 Integer 每页显示的条数 最小值:1 最大值:100 order_by_column 是 String 需要排序的字段(默认为更新时间),支持字段有name,create_time,update_time。 最小长度:1 最大长度:16 sort_order 否 String 排序规则(默认降序) 传入升序或降序,升序:ASC,降序:DESC。 最小长度:1 最大长度:16
  • 请求示例 根据作业id和作业name查询作业的执行方案列表。 POST https://{Endpoint}/v1/{project_id}/cms/template-list/{job_id} { "name" : "xxxxxx", "page_num" : 0, "page_size" : 10, "order_by_column" : "create_time", "sort_order" : "DESC" }
  • 响应示例 状态码: 200 请求响应成功,返回执行方案列表。 { "elements" : [ { "approve_info" : { "need_approve" : false }, "create_by" : "xxxxx", "create_time" : 1600073877378, "enterprise_project_id" : "0", "id" : "xxxxxx", "is_collect" : false, "is_publish" : false, "job_id" : "xxxxx", "job_version" : 1, "name" : "t1", "need_synchronize" : false, "nodes" : [ { "category" : "service", "description" : "", "id" : "xxxxx", "ignore_error" : false, "metadata" : { "configuration" : { "parameters" : { "project_id" : "{{project_id}}", "script_param" : "{xxxx}", "region_id" : "{{region_id}}", "get_instances" : "{xxxxx}" } }, "type" : "operation" }, "name" : "1", "task_name" : "CMS::E CS ::runScript" }, { "category" : "service", "description" : "", "id" : "xxxxx", "ignore_error" : false, "metadata" : { "configuration" : { "parameters" : { "package" : "{xxxxxx}", "project_id" : "{{project_id}}", "region_id" : "{{region_id}}", "get_instances" : "{xxxxx}" } }, "type" : "operation" }, "name" : "xxx", "task_name" : "CMS::ECS::Package" } ], "parameters" : [ ], "project_id" : "xxxxx", "quote" : [ ], "rate_control" : { "have_rate_control" : false, "max" : 0, "time_delay" : 0 }, "share_type" : "private", "steps" : [ { "description" : "", "id" : "xxxxx", "ignore_error" : false, "input" : { "script_param" : "{xxxxx}", "get_instances" : "{xxxxx}" }, "name" : "xxxx", "type" : "script" }, { "description" : "", "id" : "xxxxx", "ignore_error" : false, "input" : { "package" : "{xxxxx}", "get_instances" : "{xxxxx}" }, "name" : "2", "type" : "package" } ], "update_by" : "xxxxx", "update_time" : 1600073877378, "version" : "v1" } ], "total_elements" : 1 } 状态码: 400 BadRequest。非法请求。建议直接修改该请求,不要重试该请求。 { "error_code" : " AOM .31001202", "error_msg" : " parameter invalid.", "http_code" : 400 } 状态码: 401 Unauthorized。在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 { "error_code" : "AOM.31009002", "error_message" : "auth failed.", "http_code" : "401" }
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 alarm_rule_id Long 阈值规则id。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误信息描述。 error_type String 错误类型。 trace_id String 跟踪编号。主要用于开发人员快速搜索日志,定位问题。当返回的状态码为2xx时,trace_id为空;当返回4xx的状态码时,trace_id不为空。
  • 响应示例 状态码: 200 OK 请求响应成功。 { "alarm_rule_id" : 91307490000416600 } 状态码: 400 BadRequest 非法请求。建议直接修改该请求,不要重试该请求。 { "error_code" : "AOM.04003001", "error_msg" : "please check request param", "error_type" : "BAD_REQUEST" }
  • 状态码 状态码 描述 200 OK 请求响应成功。 400 BadRequest 非法请求。建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 403 Forbidden 请求被拒绝访问。返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 500 InternalServerError 表明服务端能被请求访问到,但是不能理解用户的请求。 503 ServiceUnavailable 被请求的服务无效。建议直接修改该请求,不要重试该请求。
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 从IAM服务获取的用户Token。 Content-Type 是 String 指定类型为application/json,有Body体的情况下必选,没有Body体则无需填写和校验。 表2 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 子应用唯一标识 display_name 否 String 子应用节点显示名称 model_id 是 String 应用Id、子应用Id model_type 是 String 应用、子应用,取值:APPLICATION、SUB_APPLICATION 枚举值: APPLICATION SUB_APPLICATION description 否 String 子应用描述 最小长度:0 最大长度:255
  • 请求示例 创建sub-app https://{Endpoint}/v1/sub-applications { "name" : "example1", "display_name" : "example1", "model_id" : "8fd93d051a1447dd8f8fa28b5d68841f", "model_type" : "APPLICATION", "description" : "子应用信息" }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 access_codes Array of AccessCodeModel objects accessCodes 数组长度:0 - 2 表4 AccessCodeModel 参数 参数类型 描述 access_code String access_code 最小长度:64 最大长度:64 access_code_id String access_code_id 最小长度:32 最大长度:32 create_at Long 创建时间 最小值:0 最大值:9999999999999 status String 状态 enable:开启 unenable:关闭 枚举值: enable unenable
  • 响应示例 状态码: 200 OK 请求响应成功。 { "prometheus" : [ { "deleted_time" : 0, "enterprise_project_id" : "xx", "project_id" : "xxx", "prom_create_timestamp" : 0, "prom_id" : "xx", "prom_name" : "xx", "prom_type" : "xx", "prom_update_timestamp" : 0, "prom_version" : "xx" } ] }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 prometheus Array of PromInstanceEpsModel objects 普罗实例列表名称 表5 PromInstanceEpsModel 参数 参数类型 描述 prom_name String 普罗实例名称 名称不能以下划线或中划线开头结尾,只含有中文、英文、数字、下划线、中划线、长度1-100 最小长度:1 最大长度:100 prom_id String 普罗实例ID 最小长度:36 最大长度:36 prom_type String 普罗实例类型,DEFAULT,ECS,VPC,CCE,REMOTE_WRITE,KUBERNETES,CLOUD_SERVICE,ACROSS_ACCOUNT 枚举值: DEFAULT ECS VPC CCE REMOTE_WRITE KUBERNETES CLOUD_SERVICE ACROSS_ACCOUNT prom_version String 普罗实例版本号 最小长度:1 最大长度:1 cce_spec String CCE场景特殊字段 prom_config PromConfigModel object 普罗实例配置 prom_create_timestamp Long 普罗实例创建时间戳 最小值:0 最大值:9999999999999 prom_update_timestamp Long 普罗实例更新时间戳 最小值:0 最大值:9999999999999 prom_status String 普罗实例状态 true/false 最小长度:4 最大长度:5 enterprise_project_id String 普罗实例所属的企业项目 最小长度:1 最大长度:32 project_id String 普罗实例所属projectId 最小长度:32 最大长度:32 is_deleted_tag Long 删除标记 最小值:0 最大值:9999999999999 deleted_time Long 删除时间 最小值:0 最大值:9999999999999 prom_spec_config PromConfigModel object 普罗实例所属特定配置 cce_spec_config String 普罗实例所属CCE特殊配置 application ApplicationModel object APM 、LTS、SS场景特殊字段 表6 PromConfigModel 参数 参数类型 描述 remote_write_url String 普罗实例remote-write地址 remote_read_url String 普罗实例remote-read地址 prom_http_api_endpoint String 普罗实例调用url dashboard_id String 普罗实例关联dashboard的dashboard ID 最小长度:36 最大长度:36 region_id String 普罗实例所属的region 表7 ApplicationModel 参数 参数类型 描述 app_id String 应用id app_name String 应用名称 app_type String 应用来源
  • URI GET /v1/{project_id}/aom/prometheus 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户从IAM申请到的projectid,一般为32位字符串。 最小长度:32 最大长度:32 表2 Query参数 参数 是否必选 参数类型 描述 prom_id 否 String 普罗实例ID 最小长度:36 最大长度:36 prom_type 否 String 普罗实例类型,DEFAULT,ECS,VPC,CCE,REMOTE_WRITE,KUBERNETES,CLOUD_SERVICE,ACROSS_ACCOUNT 枚举值: DEFAULT ECS VPC CCE REMOTE_WRITE KUBERNETES CLOUD_SERVICE ACROSS_ACCOUNT cce_cluster_enable 否 String cce集群开关 true/false 枚举值: true false prom_status 否 String 普罗实例状态 true/false 枚举值: true false
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 从IAM服务获取的用户Token。 Content-Type 是 String 指定类型为application/json,有Body体的情况下必选,没有Body体则无需填写和校验。 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 子应用唯一标识 display_name 否 String 子应用节点显示名称 description 否 String 子应用描述 最小长度:0 最大长度:255
  • 响应示例 状态码: 200 OK 请求响应成功。 { "prometheus" : [ { "deleted_time" : 0, "enterprise_project_id" : "xxx", "project_id" : "xxx", "prom_create_timestamp" : 0, "prom_id" : "xxx", "prom_name" : "xxx", "prom_spec_config" : { "prom_http_api_endpoint" : "xxx", "remote_read_url" : "xxx", "remote_write_url" : "xxx" }, "prom_type" : "xxx", "prom_update_timestamp" : 0 } ] }
  • 响应参数 状态码: 200 表6 响应Body参数 参数 参数类型 描述 prometheus Array of PromInstanceEpsModel objects 普罗实例列表名称 表7 PromInstanceEpsModel 参数 参数类型 描述 prom_name String 普罗实例名称 名称不能以下划线或中划线开头结尾,只含有中文、英文、数字、下划线、中划线、长度1-100 最小长度:1 最大长度:100 prom_id String 普罗实例ID 最小长度:36 最大长度:36 prom_type String 普罗实例类型,DEFAULT,ECS,VPC,CCE,REMOTE_WRITE,KUBERNETES,CLOUD_SERVICE,ACROSS_ACCOUNT 枚举值: DEFAULT ECS VPC CCE REMOTE_WRITE KUBERNETES CLOUD_SERVICE ACROSS_ACCOUNT prom_version String 普罗实例版本号 最小长度:1 最大长度:1 cce_spec String CCE场景特殊字段 prom_config PromConfigModel object 普罗实例配置 prom_create_timestamp Long 普罗实例创建时间戳 最小值:0 最大值:9999999999999 prom_update_timestamp Long 普罗实例更新时间戳 最小值:0 最大值:9999999999999 prom_status String 普罗实例状态 true/false 最小长度:4 最大长度:5 enterprise_project_id String 普罗实例所属的企业项目 最小长度:1 最大长度:32 project_id String 普罗实例所属projectId 最小长度:32 最大长度:32 is_deleted_tag Long 删除标记 最小值:0 最大值:9999999999999 deleted_time Long 删除时间 最小值:0 最大值:9999999999999 prom_spec_config PromConfigModel object 普罗实例所属特定配置 cce_spec_config String 普罗实例所属CCE特殊配置 application ApplicationModel object APM、LTS、SS场景特殊字段 表8 PromConfigModel 参数 参数类型 描述 remote_write_url String 普罗实例remote-write地址 remote_read_url String 普罗实例remote-read地址 prom_http_api_endpoint String 普罗实例调用url dashboard_id String 普罗实例关联dashboard的dashboard ID 最小长度:36 最大长度:36 region_id String 普罗实例所属的region 表9 ApplicationModel 参数 参数类型 描述 app_id String 应用id app_name String 应用名称 app_type String 应用来源
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 从IAM服务获取的用户Token。 最小长度:1 最大长度:40960 Content-Type 是 String 指定类型为application/json。 枚举值: application/json 表3 请求Body参数 参数 是否必选 参数类型 描述 prom_name 是 String 普罗实例名称 名称不能以下划线或中划线开头结尾,只含有中文、英文、数字、下划线、中划线、长度1-100 最小长度:1 最大长度:100 prom_id 否 String 普罗实例ID 最小长度:36 最大长度:36 prom_type 是 String 普罗实例类型,DEFAULT,ECS,VPC,CCE,REMOTE_WRITE,KUBERNETES,CLOUD_SERVICE,ACROSS_ACCOUNT 枚举值: DEFAULT ECS VPC CCE REMOTE_WRITE KUBERNETES CLOUD_SERVICE ACROSS_ACCOUNT prom_version 否 String 普罗实例版本号 最小长度:1 最大长度:1 cce_spec 否 String CCE场景特殊字段 prom_config 否 PromConfigModel object 普罗实例配置 prom_create_timestamp 否 Long 普罗实例创建时间戳 最小值:0 最大值:9999999999999 prom_update_timestamp 否 Long 普罗实例更新时间戳 最小值:0 最大值:9999999999999 prom_status 否 String 普罗实例状态 true/false 最小长度:4 最大长度:5 enterprise_project_id 否 String 普罗实例所属的企业项目 最小长度:1 最大长度:32 project_id 否 String 普罗实例所属projectId 最小长度:32 最大长度:32 is_deleted_tag 否 Long 删除标记 最小值:0 最大值:9999999999999 deleted_time 否 Long 删除时间 最小值:0 最大值:9999999999999 prom_spec_config 否 PromConfigModel object 普罗实例所属特定配置 cce_spec_config 否 String 普罗实例所属CCE特殊配置 application 否 ApplicationModel object APM、LTS、SS场景特殊字段 表4 PromConfigModel 参数 是否必选 参数类型 描述 remote_write_url 否 String 普罗实例remote-write地址 remote_read_url 否 String 普罗实例remote-read地址 prom_http_api_endpoint 否 String 普罗实例调用url dashboard_id 否 String 普罗实例关联dashboard的dashboard ID 最小长度:36 最大长度:36 region_id 否 String 普罗实例所属的region 表5 ApplicationModel 参数 是否必选 参数类型 描述 app_id 否 String 应用id app_name 否 String 应用名称 app_type 否 String 应用来源
  • URI DELETE /v1/{project_id}/aom/prometheus 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户从IAM申请到的projectid,一般为32位字符串。 最小长度:32 最大长度:32 表2 Query参数 参数 是否必选 参数类型 描述 prom_id 是 String 普罗实例id。 最小长度:36 最大长度:36
  • URI GET /v1/{project_id}/{cluster_id}/{namespace}/agents 表1 路径参数 参数 是否必选 参数类型 描述 cluster_id 是 String 集群id 最小长度:0 最大长度:0 namespace 是 String 命名空间 最小长度:0 最大长度:0 project_id 是 String 租户从IAM申请到的projectid,一般为32位字符串。 最小长度:32 最大长度:32
  • 响应示例 状态码: 200 OK 请求响应成功。 [ { "ip" : "xx.xx.xx.xx", "agentId" : "xxx", "devCloudId" : "", "nodeName" : "xxx", "status" : "xxx", "lastModified" : "xx", "updateTime" : "xx", "version" : "xx", "osType" : "xx", "pinpointVersion" : "xx", "pinpointStatus" : "xx", "phpProbeVersion" : "xx", "dotnetProbeVersion" : "xx", "extendInfo" : "xx", "customHostTag" : "xx", "enterprise_project_id" : "xx", "reserved" : "xx" } ]
  • 响应示例 状态码: 200 OK 请求执行完成。 { " CES " : { "role_name" : [ "CES ReadOnlyAccess" ], "status" : true }, "ECS" : { "role_name" : [ "ECS CommonOperations", "ECS ReadOnlyAccess" ], "status" : true }, "CCE" : { "role_name" : [ "CCE FullAccess" ], "status" : true }, "CCI" : { "role_name" : [ "CCI FullAccess" ], "status" : true }, " RMS " : { "role_name" : [ "RMS ReadOnlyAccess" ], "status" : true }, "LTS" : { "role_name" : [ "LTS FullAccess" ], "status" : true }, "DMS" : { "role_name" : [ "DMS UserAccess" ], "status" : true } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 从IAM服务获取的用户Token。 最小长度:1 最大长度:40960 Content-Type 是 String 指定类型为application/json。 枚举值: application/json 表3 请求Body参数 参数 是否必选 参数类型 描述 recording_rule 是 String recordingRule 最小长度:1 最大长度:1024
  • URI POST /v1/{project_id}/{prometheus_instance}/aom/api/v1/rules 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户从IAM申请到的projectid,一般为32位字符串。 最小长度:32 最大长度:32 prometheus_instance 是 String prometheus实例id。 最小长度:36 最大长度:36
  • 表分区技术 表分区技术(Table-Partitioning)通过将非常大的表或者索引从逻辑上切分为更小、更易管理的逻辑单元(分区),能够让对用户对表查询、变更等语句操作具备更小的影响范围,能够让用户通过分区键(Partition Key)快速的定位到数据所在的分区,从而避免在数据库中对大表的全量扫描,能够在不同的分区上并发进行DDL、DML操作。从用户使用的角度来看,表分区技术主要有以下三个方面能力: 提升大容量数据场景查询效率:由于表内数据按照分区键进行逻辑分区,查询结果可以通过访问分区的子集而不是整个表来实现。这种分区剪枝技术可以提供数量级的性能增益。 降低运维与查询的并发操作影响:降低DML语句、DDL语句并发场景的相互影响,在对一些大数据量以时间维度进行分区的场景下会明显受益。例如,新数据分区进行入库、实时点查操作,老数据分区进行数据清洗、分区合并等运维性质操作。 提供大容量场景下灵活的数据运维管理方式:由于分区表从物理上对不同分区的数据做了表文件层面的隔离,每个分区可以具有单独的物理属性,如启用或禁用压缩、物理存储设置和表空间。同时它支持数据管理操作,如数据加载、索引创建和重建,以及分区级别的备份和恢复,而不是对整个表进行操作,从而减少了操作时间。 父主题: 大容量数据库
  • 创建普通分区表(创建一级分区表) 由于SQL语言功能强大和灵活多样性,SQL语法树通常比复杂,分区表同样如此,分区表的创建可以理解成在原有非分区表的基础上新增表分区属性,因此分区表的语法接口可以看成是对原有非分区表CREATE TABLE语句进行扩展PARTITION BY语句部分,同时指定分区相关的三个核元素: 分区类型(partType):描述分区表的分区策略,分别有RANGE/INTERVAL/LIST/HASH。 分区键(partKey):描述分区表的分区列,目前RANGE/LIST分区支持多列(不超过16列)分区键,INTERVAL/HASH分区只支持单列分区。 分区表达式(partExpr):描述分区表的具体分区表方式,即键值与分区的对应映射关系。 这三部分重要元素在建表语句的Partition By Clause字句中体现,PARTITION BY partType (partKey) ( partExpr[,partExpr]…)。示例如下: CREATE TABLE [ IF NOT EXISTS ] partition_table_name ( [ /* 该部份继承于普通表的Create Table */ { column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ] | table_constraint | LIKE source_table [ like_option [...] ] }[, ... ] ] ) [ WITH ( {storage_parameter = value} [, ... ] ) ] [ COMPRESS | NOCOMPRESS ] [ TABLESPACE tablespace_name ] /* 范围分区场景,若申明INTERVAL子句则为间隔分区场景 */ PARTITION BY RANGE (partKey) [ INTERVAL ('interval_expr') [ STORE IN (tablespace_name [, ... ] ) ] ] ( partition_start_end_item [, ... ] partition_less_then_item [, ... ] ) /* 列表分区场景 */ PARTITION BY LIST (partKey) ( PARTITION partition_name VALUES (list_values_clause) [ TABLESPACE tablespace_name [, ... ] ] ... ) /* 哈希分区场景 */ PARTITION BY HASH (partKey) ( PARTITION partition_name [ TABLESPACE tablespace_name [, ... ] ] ... ) /* 开启/关闭分区表行迁移 */ [ { ENABLE | DISABLE } ROW MOVEMENT ]; 规格约束: Range/List分区最大支持16个分区键,Interval/Hash分区均只支持1个分区键,二级分区只支持1个分区键。 Interval分区仅支持时间/日期数据类型,Interval分区不支持在二级分区表中创建。 除哈希分区外,分区键不能插入空值,否则DML语句会进行报错处理。唯一例外:Range分区表定义有MAXVALUE分区/List分区表定义有DEFAULT分区。 分区数最大值为1048575个,可以满足大部分业务场景的诉求。但分区数增加会导致系统中文件数增加,影响系统的性能,一般对于单个表而言不建议分区数超过200。
  • 创建二级分区表 二级分区表,可以看成是对一级分区表的扩展,在二级分区表中第一层分区是一张逻辑表并不实际存储数据,数据实际是存储在二级分区节点上的。从实现上而言,二级分区表的分区方案是由两个一级分区的嵌套而来的,一级分区的分区方案详见章节CREATE TABLE PARTITION。常见的二级分区表组合方案有:Range-Range分区、Range-List分区、Range-Hash分区、List-Range分区、List-List分区、List-Hash分区、Hash-Range分区、Hash-List分区、Hash-Hash分区等。目前二级分区仅支持行存表,二级分区创建的示例如下: CREATE TABLE [ IF NOT EXISTS ] subpartition_table_name ( [ /* 该部份继承于普通表的Create Table */ { column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ] | table_constraint | LIKE source_table [ like_option [...] ] } [, ... ] ] ) [ WITH ( {storage_parameter = value} [, ... ] ) ] [ COMPRESS | NOCOMPRESS ] [ TABLESPACE tablespace_name ] /* 二级分区定义的部分 */ PARTITION BY {RANGE | LIST | HASH} SUBPARTITOIN BY {RANGE | LIST | HASH} ( PARTITION partition_name partExpr… /* 第一层分区 */ ( SUBPARTITION partition_name partExpr … SUBPARTITION partition_name partExpr … ), PARTITION partition_name partExpr… /* 第一层分区 */ ( SUBPARTITION partition_name partExpr … SUBPARTITION partition_name partExpr … ), … ) [ { ENABLE | DISABLE } ROW MOVEMENT ]; 规格约束: 二级分区支持LIST/HASH/RANGE分区的任意两两组合。 二级分区场景中仅支持单分区键。 二级分区中不支持Interval类型分区的组合。 二级分区场景中,分区总数上限为1048575。
  • 二级分区 二级分区(Sub Partition,也叫组合分区)是基本数据分区类型的组合,将表通过一种数据分布方法进行分区,然后使用第二种数据分布方式将每个分区进一步细分为子分区。给定分区的所有子分区表示数据的逻辑子集。常见的二级分区组合如下所示: Range-Range Range-List Range-Hash List-Range List-List List-Hash Hash-Range Hash-List Hash-Hash Interval分区看成是范围分区的一种特殊形式,目前不支持二级分区场景中定义Interval分区。 二级分区表的一级分区和二级分区分区键均只支持1列。 父主题: 分区策略
共100000条