# 维度表 API
调用方法请参见Open API文档中的调用方法描述。
# 创建维度表
注意
- 请求体为维度表内容,具体见维度表创建参数createParam的配置
- 默认最大文件限制为200M
接口URL
/open/dict-create?token=xxx&projectId=0
请求方式
POST
Content-Type
text/csv
请求Query参数
参数名 | 示例值 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|---|
token | xxx | String | 是 | token |
projectId | 0 | I nteger | 是 | 项目 ID |
createParam | {"mainColumn":{"property":{"columnName":"channel","tableType":"event"}},"columns":[{"property":{"columnName":"channel_id","selectType":"string"}},{"property":{"columnName":"channel_name","columnDesc":"渠道类型","selectType":"string"}}]} | S tring | 是 | 创建维度列信息描述 |
维度表创建参数createParam的配置
创建维度属性
此处的主字段为channel,与维度表中的channel_id进行关联连接,添加维度表属性channel_name
1.维表示例
维表数据采用 csv 格式,第一列为关联字段
第一行为列名,第二行开始为数据。
channel_id,channel_name
1,龙腾1区
2,龙腾2区
3,龙腾3区
2.createParam 示例(给事件表的channel字段创建上述维度表)
columns 列表里,元素顺序必须与维表数据中列的顺序一致, 且命名一致。其中第一个元素(对应首列关联列)命名可以与父元素相同,或不同(若不同,只支持字母开头且仅包含字母数字下划线)。
{
"mainColumn": {
"property": {
"columnName": "channel",
"tableType": "event",
"timestampJoinFormat": null
}
},
"columns": [
{
"property": {
"columnName": "channel_id",
"selectType": "number"
}
},
{
"property": {
"columnName": "channel_name",
"columnDesc": "渠道类型",
"selectType": "string"
}
}
]
}
3.createParam 字段解释
mainColumn 节点(创建维度表的主字段描述节点)
属性名称 | 属性描述 |
---|---|
property | 主属性(物理属性和虚拟属性均可以) |
columnName | 主属性字段名称 |
tableType | 主属性所属表类型,event:事件属性;user:用户属性 |
timestampJoinFormat | 如果主属性为时间类型(timestamp),支持按时间戳进行粒度计算后绑定维度属性 |
timestampJoinFormat支持以下粒度类型。
值 | 描述 |
---|---|
DATE_STR_YEAR | 属性将被格式化为"yyyy"字符串后绑定维度属性 |
DATE_STR_MONTH | 属性将被格式化为"yyyy-MM"后绑定维度属性 |
DATE_STR_DAY | 属性将被格式化为"yyyy-MM-dd"后绑定维度属性 |
DATE_STR_HOUR | 属性将被格式化为"yyyy-MM-dd hh"后绑定维度属性 |
DATE_STR_MINUTE | 属性将被格式化为"yyyy-MM-dd HH:mm"后绑定维度属性 |
DATE_STR_SECOND | 属性将被格式化为"yyyy-MM-dd HH:mm:ss"后绑定维度属性 |
DATE_STR_MILLISECOND | 属性将被格式化为"yyyy-MM-dd HH:mm:ss.SSS"后绑定维度属性 |
columns 列表(维度字段描述节点)
columns 列表里,元素顺序必须与维表数据中列的顺序一致。
属性名称 | 属性描述 |
---|---|
property | 维度字段属性列表 |
columnName | 维度字段名称 |
columnDesc | 维度字段描述,即字段的显示名称(可选) |
selectType | 维度字段类型:number 数值,bool 布尔,string 字符串,datetime 日期类型 |
4.创建结果
创建成功后,可找到属性名为channel@channel_name的维度表属性
成功响应示例
{
"data": {
"duplcatedMainKeyColumns": ["activity_type@type_test"],
"duplcatedMainKeyLineNum": 2,
"mainKeyErrorColumns": ["activity_type@type_test"],
"mainKeyErrorLineNum": 3,
"successLineNum": 27,
"totalLineNum": 40,
"typeErrorColumns": ["numwrong_test", "boolwrong_test"],
"typeErrorLineNum": 8
},
"return_code": 0,
"return_message": "success"
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
return_code | 0 | Integer | 返回码 |
return_message | success | String | 返回信息 |
data | - | Object | 返回结果 |
∟ duplcatedMainKeyColumns | ["activity_type@type_test"] | List | 关联主字段重复的列名称 |
∟ duplcatedMainKeyLineNum | 2 | Integer | 关联主字段重复的行数(会自动丢弃) |
∟ mainKeyErrorColumns | ["activity_type@type_test"] | List | 关联主字段解析错误的列名称 |
∟ mainKeyErrorLineNum | 3 | Integer | 关联主字段解析错误的行数(会自动丢弃) |
∟ successLineNum | 27 | Integer | 成功的行数 |
∟ totalLineNum | 40 | Integer | 总行数 |
∟ typeErrorColumns | ["numwrong_test", "boolwrong_test"] | List | 其他字段类型错误的列名称 |
∟ typeErrorLineNum | 8 | Integer | 其他字段类型错误的行数(会置空) |
错误响应示例
{
"return_code": -1008,
"return_message": "上传文件大小不能超过209715200字节"
}
参数名 | 示例值 | 参数类型 | 参数描述 |
---|---|---|---|
return_code | -1100 | Integer | 返回码 |
return_message | 上传文件大小不能超过209715200字节 | String | 返回信息 |
curl 示例
curl --header 'Content-Type: text/csv' --data-binary '@test.csv' 'http://ta2:8992/open/dict-create?token=bTOzKiTIozG4e19FgXphcA8dDV3DIY8RwdHTO7aSnBsRqSNaIk19BnBMecJDWibD&projectId=377&createParam=%7B%22mainColumn%22%3A%7B%22property%22%3A%7B%22columnName%22%3A%22channel%22%2C%22tableType%22%3A%22event%22%7D%7D%2C%22columns%22%3A%5B%7B%22property%22%3A%7B%22columnName%22%3A%22channel_id%22%2C%22selectType%22%3A%22string%22%7D%7D%2C%7B%22property%22%3A%7B%22columnName%22%3A%22channel_name%22%2C%22columnDesc%22%3A%22%E6%B8%A0%E9%81%93%E7%B1%BB%E5%9E%8B%22%2C%22selectType%22%3A%22string%22%7D%7D%5D%7D'