如何给网站做排名优化,上海有做网站的公司么,济南网站制作哪家专业,wordpress挂下载链接概述
使用全局富化函数做富化时, 需要传递一个字典或者表格结构做富化. 参考构建字典与表格做数据富化的各种途径比较. 本篇介绍从使用资源函数res_log_logstore_pull从其他logstore拉取数据的做富化的详细实践.关于res_log_logstore_pull的参数说明, 参考这里. 该语法目前支…概述
使用全局富化函数做富化时, 需要传递一个字典或者表格结构做富化. 参考构建字典与表格做数据富化的各种途径比较. 本篇介绍从使用资源函数res_log_logstore_pull从其他logstore拉取数据的做富化的详细实践.关于res_log_logstore_pull的参数说明, 参考这里. 该语法目前支持两种模式去logstore拉取数据一种是拉取指定时间间隔内的logstore 的数据内容另外一种是不设置结束时间持续的拉取目标logstore内容
背景
这里我们有两个logstore一个是存储个人信息的source_logstore一个是酒店存储客人入住信息的target_logstore 我们现在将酒店的入住信息拿来做富化。 注意: 这里采用pull_log接口拉取数据, 富化的logstore并不依赖索引.
个人信息 source_logstore
topic:xxx
city:xxx
cid:12345
name:makitopic:xxx
city:xxx
cid:12346
name:vickytopic:xxx
city:xxx
cid:12347
name:mary
酒店入住信息logstore
time:1567038284
status:check in
cid:12345
name:maki
room_number:1111time:1567038284
status:check in
cid:12346
name:vicky
room_number:2222time:1567038500
status:check in
cid:12347
name:mary
room_number:3333time:1567038500
status:leave
cid:12345
name:maki
room_number:1111
基本语法
res_log_logstore_pull(endpoint,ak_id,ak_secret,project,logstore,fields,from_timeNone,to_timeNone,fetch_include_dataNone,fetch_exclude_dataNone,primary_keysNone,delete_dataNone,refresh_interval_max60,fetch_interval2):
具体的参数说明请参考res_log_logstore_pull需要注意的地方是res_log_logstore_pull 是一个单独的语法只负责从目标logstore 拉取数据下来本身自己并没有做任何富化的操作所以请不要单独使用res_log_logstore_pull语法结合e_table_map和e_search_table_map语句一起使用才是有意义的本篇也会结合e_table_map和e_search_map_table的使用给出一些例子进行演示。
场景1: 获取指定时间内所有的数据
注意: 这里的时间是日志获取时间.
DSL编排语法
res_log_logstore_pull(..., [cid,name,room_number],from_time1567038284,to_time1567038500)
获取到的数据
#这里我们的语法中 field 填入了 cid,name,room_number 三个字段并且指定了时间范围将会获取这个时间范围内的logstore的所有数据的这三个字段的值cid:12345
name:maki
room_number:1111cid:12346
name:vicky
room_number:2222cid:12347
name:mary
room_number:3333cid:12345
name:maki
room_number:1111
场景2: 设置黑白名单参数来过滤拉取的数据
1.DSL 编排语法(只设置白名单)
# 设置白名单只有 room_number 值等于 1111的的数据会被拉去下来
res_log_logstore_pull(..., [cid,name,room_numberstatus],from_time1567038284,to_time1567038500,fetch_include_dataroom_number:1111)
获取到的数据
# 设置了 ferch_include_data 白名单只有包含 room_numver:1111的数据会被拉去下来其他数据不会被拉取。status: check in
cid:12345
name:maki
room_number:1111status:leave
cid:12345
name:maki
room_number:1111
2.DSL 编排语法(只设置黑名单)
res_log_logstore_pull(..., [cid,name,room_numberstatus],from_time1567038284,to_time1567038500,fetch_exclude_dataroom_number:1111)
获取到的数据
# 设置黑名单 fetch_exclude_data 当数据包含 room_number:1111的时候丢弃这条数据。
status:check in
cid:12346
name:vicky
room_number:2222status:check in
cid:12347
name:mary
room_number:3333
3.DSL编排语法(同时设置黑白名单)
res_log_logstore_pull(..., [cid,name,room_numberstatus],from_time1567038284,to_time1567038500,fetch_exclude_datastatus:leave,fetch_include_datastatus:check in)
获取到的数据
# 黑白名单同时存在的情况下优先进行黑名单数据的匹配这里我们填入的是 status:leave的值当数据包含status:leave的值时候数据会被直接丢弃而后匹配白名单白名单我们填入的是 status:check in 当数据包含 status: check in 的值时候该数据才会被拉取下来.
status:check in
cid:12345
name:maki
room_number:1111status:check in
cid:12346
name:vicky
room_number:2222status:check in
cid:12347
name:mary
room_number:3333
场景3: 开通持续拉取目标logstore 数据
DSL编排语法
如果目标logstore 的数据是持续写入我们需要持续的去拉取时候设置 to_time 参数为None 就可以同时可以设置fetch_interval 设置拉取的时间间隔和refresh_interval_max 当拉取遇到错误的时候退火重试的最大时间间隔
res_log_logstore_pull(..., [cid,name,room_numberstatus],from_time1567038284,to_timeNone,fetch_interval15,refresh_interval_max60)
# 需要注意的是在持续拉取的过程中如果遇到错误服务器会一直退火重试直到成功为止不会停止数据加工进程。
场景4: 开启主键维护拉取的目标logstore数据暂时不推荐
注意事项
目前该功能仅限使用所有数据存储在logstore的同一个shard中所以暂时不推荐使用该功能。
背景
以我们的个人信息logstore 和 酒店信息logstore的数据进行举例因为logstore和数据库不同logstore中的数据只能写入无法删除所以有的时候我们希望匹配的时候将已经删除的数据不要进行匹配这时候就需要开启主键维护功能。
需求演示
现在我们想拉取酒店信息logstore中所有入住还没有离开的客人信息当statusleave的时候表示客人已经离开酒店所以不需要将该信息进行拉取。
DSL编排语法
res_log_logstore_pull(..., [cid,name,room_numberstatus,time],from_time1567038284,to_timeNone,primary_keyscid,delete_datastatus:leave)
得到的数据
## 可以看到 name为maki 的客人的最后更新status为leave ,已经离开酒店所以并没有将 maki的数据拉取下来
time:1567038284
status:check in
cid:12346
name:vicky
room_number:2222time:1567038500
status:check in
cid:12347
name:mary
room_number:3333
注意
需要注意的是 primary_keys 目前只支持设置单字符串这个需要设置logstore数据中 值为唯一的字段比如样例中的cid , 类似数据库的唯一主键并且当设置primary_keys的时候delete_data 也必须不为 None这样才有意义。
原文链接 本文为云栖社区原创内容未经允许不得转载。