# 元数据管理工具
# 一、简介
元数据管理工具主要用于对 TA 系统中的事件属性、用户属性进行类型修改或删除操作。由于元数据的调整会暂停数据的 ETL 流转,因此我们建议只在确定类型导入错误与数据异常时使用本工具,不建议进行频繁操作。
# 二、使用说明
元数据管理工具只支持私有化服务的用户使用。root 用户登录私有化集群的任意一台服务器,执行 su - ta
然后执行 ta-tool modify_meta
,即可进入源数据管理工具界面。
# 2.1 填写需处理项目的 appid
首先需要输入待修改项目的 appid ,可进入 TA 系统的「项目管理」页面查看项目的 appid 。
# 2.2 确认项目名称
输入 appid 后,会提示待修改项目的项目名,输入"y"进行确认,输入"n"取消操作
# 2.3 选择元数据操作类型
接下来可以开始添加需要执行的操作类型,此处支持循环添加操作动作,在配置完成一个操作设置后,可以添加另一个操作,直到选择「添加完成」为止。建议把所有修改或删除的操作一次性集中完成。
# 2.4 修改事件属性类型
# 2.4.1 常规事件属性修改
- 例:修改事件属性 argNum,将其类型从 number 改为 string:
- 操作类型选择:1
- 事件属性名输入:argNum
- 修改类型输入:string
# 2.4.2 对象、对象组子属性修改
TIP
在元数据管理工具中,可以使用「父属性.子属性」的表达方式在修改/删除时指向对象(组)的子属性
- 例:修改对象(组)属性 argrow 的子属性 channel_id,将其类型从 number 改为 string:
- 操作类型选择:1
- 事件属性名输入:argrow.channel_id
- 修改类型输入:string
# 2.5 修改用户属性类型
# 2.5.1 常规用户属性修改
- 例:修改用户属性 user_argNum,将其类型从 number 改为 string:
- 操作类型选择:2
- 用户属性名输入:user_argNum
- 修改类型输入:string
# 2.5.2 对象、对象组子属性修改
- 例:修改对象(组)属性 user_argrow 的子属性 channel_id,将其类型从 number 改为 string:
- 操作类型选择:2
- 事件属性名输入:user_argrow.channel_id
- 修改类型输入:string
# 2.6 删除事件属性
- 例:删除常规事件属性 argbool 和对象(组)属性 argrow 的子属性 level:
- 操作类型选择:3
- 事件属性名输入:argbool, argrow.level
# 2.7 删除用户属性情况下的操作
- 例:删除常规用户属性 user_argbool 和对象(组)属性 user_argrow 的子属性 level:
- 操作类型选择:4
- 用户属性名输入:user_argbool, user_argrow.level
# 2.8 修改和删除操作添加完成
- 在完成所有配置后,输入「5」进行确认
# 2.9 确认操作
- 在执行前会进行最终确认,输入"y"进行确认,输入"n"取消操作
# 2.10 执行相关操作
完成确认后,管理工具会先暂停 TA 系统的数据 ETL 服务。之后会执行本次设置中的所有操作,在完成所有操作后,会重新启动数据 ETL 服务。在此期间上报的数据将会延迟入库,但不会丢失。
# 2.11 最终结果显示
# 2.12 对数据的影响
# 2.12.1 普通属性
在修改普通属性时,修改后会导致该属性之前导入的数据置为 null。
# 2.12.2 父属性
在修改父属性时,修改后会导致该父属性之前导入的数据置为 null,包括该父属性所有子属性的值。
# 2.12.3 子属性
在修改子属性时,修改后会导致该子属性之前导入的数据置为 null,不影响同父属性下其他子属性。
# 三、注意事项
- 在执行修改和删除过程中,尽量避免会话断开,或者使用 Ctrl + C 来中断操作。
- 修改和删除属性会停止 ETL 流转,避免频繁操作影响数据的实时流入。
- 子级属性不允许修改为复杂结构类型。