简介
标签、分群导入功能由以下部分组成:
- 创建标签、分群元数据
- 提交导入任务(单个 / 批量)
- 获取导入任务
- 取消导入任务
命令
创建标签
创建导入标签的元数据,该命令可以重复执行,新数据会覆盖旧数据(界面上无法改动的字段不会修改)
horizonadmin tag/segment --tool tag_import_meta [param...]
参数说明
参数 | 示例 | 描述 | 是否必传 | 备注 |
--project | production | 项目名 | 是 | |
--entity | user | 实体名 | 是 | |
--user_name | admin | 创建 tag 的用户名 | 否 | 默认 admin |
--name | tag_test_1 | 标签名 | 是 | 必须用 user_tag_ /segment_ 开头 |
--display_name | 标签 1 | 标签中文名 | 是 | |
--comment | 备注 | 备注 | 否 | |
--data_type | bool | 数据类型 | 是 | BOOL, STRING, NUMBER, DATETIME, LIST,分群无参数 |
--dir | / 目录 1 / 目录 2 | 目录 | 否 | 默认未分类,不存在的会创建,已存在的会移动过去,分群无该参数 |
--matched_field | user.$identity_distinct_id | 匹配字段 | 是 |
单个导入按界面逻辑传。(list 类型直接传内部元素做匹配,不可传数组) 批量导入此处设置仅做展示,具体生效规则在 task 里 |
--sync_profile | - | 是否同步用户 | 否 | 传该参数即为同步,无需设置值,如果 idm 匹配不上,为 true 会新建用户,false 会丢掉数据。 |
--model | OVERWRITE | 导入模式 | 否 | 默认覆盖,INCREMENT 增量,OVERWRITE 覆盖,INCREMENT_AND_OVERWRITE(仅标签) |
--storage_count | 120 | 存储天数 | 否 | 默认 标签 120 / 分群 1 |
示例:
# 标签
horizonadmin tag \
--tool tag_import_meta \
--project default \
--name user_tag_test_str1 \
--display_name str1 \
--dir /batch_import_test \
--matched_field user.\$identity_distinct_id \
--sync_profile \
--data_type string \
--entity user
# 分群
horizonadmin segment \
--tool segment_import_meta \
--project default \
--name user_segment_test_str1 \
--display_name str1 \
--matched_field user.\$identity_distinct_id \
--sync_profile \
--entity user
效果:
会在界面创建一个标签 / 分群
标签:
分群:
提交导入任务
提交导入标签的任务
horizonadmin tag/segment --tool import --method submit_task [param...]
参数说明
参数 | 示例 | 描述 | 是否必传 | 备注 |
--project | production | 项目名 | 是 | |
--entity | user | 实体名 | 是 | |
--task_name | test_name | 任务名 | 否 | 可以不传,后台自动生成 |
--created_by | CONSOLE | 来源 | 否 | 可以不传 |
--import_mode | SINGLE | 导入模式 | 是 |
SINGLE 这个参数决定了导入是单个还是批量 批量模式数据需要特殊处理,暂不在此支持 |
--run_sync | 是否同步执行 | 否 | 传该参数即为同步,命令会一直阻塞 |
单个标签导入
参数 | 示例 | 描述 | 是否必传 | 备注 |
-data_path | /sa/runtime/test_file | 文件路径 | 是 | 路径必须在 /sa 下 |
--data_format | CSV_FILE | 文件格式 | 是 | LINE_OF_DISTINCT_ID(分群使用), JSON,(只有标签可以使用 JSON) CSV_FILE |
--tag_name / --segment_name | tag_test_1 | 标签名 / 分群名 | 是 | 根据工具选择参数 |
--base_time | 20220101 | 基准时间 | 是 |
导入 文件格式:
LINE_OF_DISTINCT_ID(分群使用):一行一个用户唯一标识
JSON(标签使用):将用户唯一标识与值组成json,如下所示
属性为“字符串”类型填写样例 {"property":"1ca636a8a043", "value":30} (标签值为数值类型) {"property":"1ca636a8a044", "value":"高价值学生"} (标签值为字符串类型) {"property":"1ca636a8a044", "value":"TRUE"} (标签值为布尔类型,标签值只支持写入”TRUE“) {"property":"1ca636a8a045", "value":["北京","上海","广州"]} (标签值为集合类型) {"property":"1ca636a8a046", "value":"2020-02-11"}。 (标签值为日期类型) {"property":"1ca636a8a047", "value":"2020-02-11 12:12:13"} (标签值为日期类型) 属性为“布尔”类型填写样例,用户属性支持写入“TRUE“或“FALSE” {"property":"TRUE", "value":30} (标签值为数值类型) {"property":"TRUE", "value":"高价值学生"} (标签值为字符串类型) {"property":"TRUE", "value":"TRUE"} (标签值为布尔类型,标签值只支持写入”TRUE“) {"property":"TRUE", "value":["北京","上海","广州"]} (标签值为集合类型) {"property":"TRUE", "value":"2020-02-11"}。 (标签值为日期类型) {"property":"TRUE", "value":"2020-02-11 12:12:13"} (标签值为日期类型) 属性为“数值”类型填写样例 {"property":"100200111", "value":30} (标签值为数值类型) {"property":"100200111", "value":"高价值学生"} (标签值为字符串类型) {"property":"100200111", "value":"TRUE"} (标签值为布尔类型,标签值只支持写入”TRUE“) {"property":"100200111", "value":["北京","上海","广州"]} (标签值为集合类型) {"property":"100200111", "value":"2020-02-11"}。 (标签值为日期类型) {"property":"100200111", "value":"2020-02-11 12:12:13"} (标签值为日期类型) 属性为“日期”类型填写样例,支持使用日期格式"yyyy-MM-dd"、"yyyy-MM-dd HH:mm:ss" {"property":"2020-02-11", "value":30} (标签值为数值类型) {"property":"2020-02-11", "value":"高价值学生"} (标签值为字符串类型) {"property":"2020-02-11", "value":"TRUE"} (标签值为布尔类型,标签值只支持写入”TRUE“) {"property":"2020-02-11", "value":["北京","上海","广州"]} (标签值为集合类型) {"property":"2020-02-11", "value":"2020-02-11"}。 (标签值为日期类型) {"property":"2020-02-11", "value":"2020-02-11 12:12:13"} (标签值为日期类型) 属性为“集合”类型填写样例,每个用户属性只能写入集合中的一个值 {"property":"篮球", "value":30} (标签值为数值类型) {"property":"足球", "value":"高价值学生"} (标签值为字符串类型) {"property":"棒球", "value":"TRUE"} (标签值为布尔类型,标签值只支持写入”TRUE“) {"property":"篮球", "value":["北京","上海","广州"]} (标签值为集合类型) {"property":"足球", "value":"2020-02-11"}。 (标签值为日期类型) {"property":"棒球", "value":"2020-02-11 12:12:13"} (标签值为日期类型)
CSV_FILE(标签使用):将用户标识和值用, 分隔,如下所属
属性为“字符串”类型填写样例, 749f8ca636a8a098,30(标签值为数值类型) 749f8ca636a8a098,高价值学生(标签值为字符串类型) 749f8ca636a8a098,TRUE(标签值为布尔类型,标签值只支持写入”TRUE“) 749f8ca636a8a098,北京、上海、广州(标签值为集合类型) 749f8ca636a8a098,20200211(标签值为日期类型) 749f8ca636a8a098,20200211_121213(标签值为日期类型) , , 属性为“布尔”类型填写样例,用户属性支持写入“TRUE“或“FALSE”, TRUE,30(标签值为数值类型) TRUE,高价值学生(标签值为字符串类型) TRUE,TRUE(标签值为布尔类型,标签值只支持写入”TRUE“) TRUE,北京、上海、广州(标签值为集合类型) TRUE,20200211(标签值为日期类型) TRUE,20200211_121213(标签值为日期类型) , , 属性为“数值”类型填写样例, 100200111,30(标签值为数值类型) 100200111,高价值学生(标签值为字符串类型) 100200111,TRUE(标签值为布尔类型,标签值只支持写入”TRUE“) 100200111,北京、上海、广州(标签值为集合类型) 100200111,20200211(标签值为日期类型) 100200111,20200211_121213(标签值为日期类型) , , "属性为“日期”类型填写样例,支持使用日期格式""yyyyMMdd""、""yyyyMMdd_HHmmss""", 20200211_121213,30(标签值为数值类型) 20200211_121213,高价值学生(标签值为字符串类型) 20200211_121213,TRUE(标签值为布尔类型,标签值只支持写入”TRUE“) 20200211_121213,北京、上海、广州(标签值为集合类型) 20200211_121213,20200211(标签值为日期类型) 20200211_121213,20200211_121213(标签值为日期类型) , , 属性值“集合”类型填写样例,每个用户属性只能写入集合中的一个值, 篮球,30(标签值为数值类型) 足球,高价值学生(标签值为字符串类型) 棒球,TRUE(标签值为布尔类型,标签值只支持写入”TRUE“) 篮球,北京、上海、广州(标签值为集合类型) 足球,20200211(标签值为日期类型) 棒球,20200211_121213(标签值为日期类型)
提交导入任务例子:
# 标签
horizonadmin tag \
--tool import \
--method submit_task \
--import_mode single \
--project default \
--entity user \
--data_path /sa/runtime/single_test \
--data_format json \
--tag_name user_tag_test_1 \
--base_time 20220101
# 分群
horizonadmin segment \
--tool import \
--method submit_task \
--import_mode single \
--project default \
--entity user \
--data_path /sa/runtime/single_test \
--data_format json \
--segment_name user_segment_test_1 \
--base_time 20220101
返回结果:
获取导入任务
horizonadmin tag --tool import --method get_task [param...]
参数说明
参数 | 示例 | 描述 | 是否必传 | 备注 |
--task_id |
task_id | 任务 id | 否 | id 可以唯一定位 /name + project 可以唯一定位 |
--task_name |
task_name | 任务名 | 否 | |
--project |
production | 项目名 | 否 |
例子:
horizonadmin tag --tool import --method get_task --task_id 79
取消导入任务
horizonadmin tag --tool import --method cancel_task [param...]
参数说明
参数 | 示例 | 描述 | 是否必传 | 备注 |
--task_id |
task_id | 任务 id | 否 | id 可以唯一定位 /name + project 可以唯一定位 |
--task_name |
task_name | 任务名 | 否 | |
--project |
production | 项目名 | 否 |
例子:
horizonadmin tag --tool import --method cancel_task --task_id 79