统计信息管理
UpdateStatistics
接口说明
更新表字段/分区统计信息
请求原型
POST /v1/database/${databaseName}/table/${tableName}?setStatistics
请求参数
名称 |
类型 |
位置 |
是否必填 |
描述 |
databaseName |
String |
URL |
是 |
数据库名 |
tableName |
String |
URL |
是 |
表名 |
numFiles |
Long |
Body |
否 |
文件个数 |
numRows |
Long |
Body |
否 |
行数 |
rawDataSize |
Long |
Body |
否 |
原始数据大小 |
totalSize |
Long |
Body |
否 |
存储数据大小 |
statisticsDesc |
StatisticsDesc |
Body |
是 |
统计信息描述信息 |
columnStatisticsData |
List<ColumnStatisticsData> |
Body |
否 |
统计信息 |
StatisticsDesc
名称 |
类型 |
是否必填 |
描述 |
tableLevel |
boolean |
是 |
是否是表级别的统计信息 |
partitionName |
String |
否 |
分区名 |
lastAnalyzedTime |
Long |
是 |
上次分析时间 |
ColumnStatisticsData
名称 |
类型 |
是否必填 |
描述 |
columnName |
String |
是 |
列名 |
columnType |
String |
是 |
列类型 |
statisticsData |
statisticsData |
是 |
统计信息 |
StatisticsData
名称 |
类型 |
是否必填 |
描述 |
booleanStats |
BooleanStats |
否 |
布尔型统计信息 |
longStats |
LongStats |
否 |
long型统计信息 |
doubleStats |
DoubleStats |
否 |
double类型统计信息 |
stringStats |
StringStats |
否 |
string类型统计信息 |
binaryStats |
BinaryStats |
否 |
binary类型统计信息 |
decimalStats |
DecimalStats |
否 |
decimal类型统计信息 |
dateStats |
DateStats |
否 |
date类型统计信息 |
BooleanStats
名称 |
类型 |
是否必填 |
描述 |
numTrues |
long |
是 |
真值数量 |
numFalses |
long |
是 |
假值数量 |
numNulls |
long |
是 |
空值数量 |
LongStats
名称 |
类型 |
是否必填 |
描述 |
longLowValue |
long |
是 |
最小值 |
longHighValue |
long |
是 |
最大值 |
numNulls |
long |
是 |
空值数量 |
DoubleStats
名称 |
类型 |
是否必填 |
描述 |
decimalHighValue |
Decimal |
是 |
最大值 |
decimalLowValue |
Decimal |
是 |
最小值 |
numNulls |
long |
是 |
空值数量 |
Decimal
名称 |
类型 |
是否必填 |
scale |
short |
是 |
unscaled |
byte[] |
是 |
StringStats
名称 |
类型 |
是否必填 |
描述 |
maxColLen |
long |
是 |
最大长度 |
avgColLen |
double |
是 |
最小长度 |
numNulls |
long |
是 |
空值数量 |
BinaryStats
名称 |
类型 |
是否必填 |
描述 |
maxColLen |
long |
是 |
最大长度 |
avgColLen |
double |
是 |
最小长度 |
numNulls |
long |
是 |
空值数量 |
DecimalStats
名称 |
类型 |
是否必填 |
描述 |
decimalLowValue |
double |
是 |
最小值 |
decimalHighValue |
double |
是 |
最大值 |
numNulls |
double |
是 |
空值数量 |
DateStats
名称 |
类型 |
是否必填 |
描述 |
dateLowValue |
long |
是 |
最小值 |
dateHighValue |
long |
是 |
最大值 |
numNulls |
long |
是 |
空值数量 |
响应参数
除公共响应参数外,无特殊响应。
错误码
公有云标准错误返回码
Code |
message |
HTTP状态码 |
描述 |
BadRequest |
Bad request, please check your request |
400 |
请求体规则校验错误 |
DatabaseNotFound |
Database not found. |
404 |
数据库不存在 |
TableNotFound |
Table not found. |
404 |
表不存在 |
PartitionNotFound |
Partitionnot found. |
404 |
分区不存在 |
InternalError |
We encountered an internal error. Please try again. |
500 |
服务器内不错误 |
请求示例
POST /v1/database/db1/table/tbl1?setStatistics HTTP/1.1
Host: edap.bj.baidubce.com
Content-Length: xxxx
Content-Type: application/json
{
"numFiles": 12,
"numRows": 10000,
"rawDataSize": 76546659248,
"totalSize": 8594679398,
"statisticsDesc": {
"tableLevel": true,
"lastAnalyzedTime": 123
},
"columnStatisticsData": [
{
"columnName": "n_nationkey",
"columnType": "long",
"statisticsData": {
"longStats": {
"longLowValue": 1,
"longHighValue": 3,
"numNulls": 2
}
}
},
{
"columnName": "n_name",
"columnType": "boolean",
"statisticsData": {
"booleanStats": {
"numNulls": 2,
"numTrues": 0,
"numFalses": 0
}
}
}
]
}
响应示例
HTTP/1.1 204 No Content
Content-Length: 0
GetStatistics
接口说明
获取列/分区统计信息
请求原型
POST /v1/database/${databaseName}/table/${tableName}?getStatistics
请求参数
名称 |
类型 |
位置 |
是否必填 |
描述 |
databaseName |
String |
URL |
是 |
数据库名 |
tableName |
String |
URL |
是 |
表名 |
columns |
List<String> |
Body |
否 |
需要获取统计信息的column列表 |
partitionNames |
List<String> |
Body |
否 |
需要获取统计信息的partition列表 |
响应参数
名称 |
类型 |
描述 |
statistics |
List<Statistics> |
统计信息 |
Statistics
名称 |
类型 |
描述 |
partitionName |
String |
分区名 |
columnStatisticsData |
List<ColumnStatisticsData> |
统计信息 |
错误码
公有云标准错误返回码
Code |
message |
HTTP状态码 |
描述 |
BadRequest |
Bad request, please check your request |
400 |
请求体规则校验错误 |
DatabaseNotFound |
Database not found. |
404 |
数据库不存在 |
TableNotFound |
Table not found. |
404 |
表不存在 |
PartitionNotFound |
Partitionnot found. |
404 |
分区不存在 |
InternalError |
We encountered an internal error. Please try again. |
500 |
服务器内不错误 |
请求示例
POST /v1/database/db1/table/tbl1?getStatistics HTTP/1.1
Host: edap.bj.baidubce.com
Content-Length: xxxx
{
"columns": ["n_nationkey", "n_name"]
}
响应示例
HTTP/1.1 200 OK
Content-Length: xxxx
Content-Type: application/json
{
"statistics": [
{
"columnStatisticsData": [
{
"columnName": "n_nationkey",
"columnType": "long",
"statisticsData": {
"longStats": {
"longLowValue": 1,
"longHighValue": 3,
"numNulls": 2
}
}
},
{
"columnName": "n_nation",
"columnType": "long",
"statisticsData": {
"longStats": {
"longLowValue": 1,
"longHighValue": 3,
"numNulls": 2
}
}
}
]
}
]
}
请求示例
{
"columns": ["n_nationkey", "n_name"]
"partitionNames":["n_nationkey=100"]
}
响应示例
HTTP/1.1 200 OK
Content-Length: xxxx
Content-Type: application/json
{
"statistics": [
{
"partitionName": "n_nationkey=100",
"columnStatisticsData": [
{
"columnName": "n_nationkey",
"columnType": "long",
"statisticsData": {
"longStats": {
"longLowValue": 1,
"longHighValue": 3,
"numNulls": 2
}
}
},
{
"columnName": "n_nation",
"columnType": "long",
"statisticsData": {
"longStats": {
"longLowValue": 1,
"longHighValue": 3,
"numNulls": 2
}
}
}
]
}
]
}
DeleteStatistics
接口说明
删除列统计信息
请求原型
POST /v1/database/${databaseName}/table/${tableName}?deleteStatistics
请求参数
名称 |
类型 |
位置 |
是否必填 |
描述 |
databaseName |
String |
URL |
是 |
数据库名 |
tableName |
String |
URL |
是 |
表名 |
column |
String |
Body |
否 |
需要删除统计信息的列名 |
partitionName |
String |
Body |
否 |
需要删除统计信息的分区名 |
响应参数
除公共响应参数外,无特殊响应。
错误码
公有云标准错误返回码
Code |
message |
HTTP状态码 |
描述 |
BadRequest |
Bad request, please check your request |
400 |
请求体规则校验错误 |
DatabaseNotFound |
Database not found. |
404 |
数据库不存在 |
TableNotFound |
Table not found. |
404 |
表不存在 |
PartitionNotFound |
Partitionnot found. |
404 |
分区不存在 |
InternalError |
We encountered an internal error. Please try again. |
500 |
服务器内不错误 |
请求示例
POST /v1/database/db_01/table/tb_01?deleteStatistics HTTP/1.1
Host: edap.bj.baidubce.com
Content-Length: xxx
{
"column": "col_01",
"partitionName": "n_regionkey=100"
}
响应示例
HTTP/1.1 204 No Content
Content-Length: 0