2024.1.22 parse_rule.用户画像es数据使用rule规则读取

#!/usr/bin/env python

@desc :

coding = "utf-8"

author = "bytedance"

python 复制代码
class EsMeta:
    def __init__(self, inType, esNodes, esIndex, esType, selectFields):
        self.inType = inType
        self.esNodes = esNodes
        self.esIndex = esIndex
        self.esType = esType
        self.selectFields = selectFields

    # 返回值类型必须是string
    def __str__(self):
        return f"inType={self.inType},esNodes={self.esNodes},esIndex={self.esIndex}," \
               f"esType={self.esType},selectFields={self.selectFields}"

    @classmethod
    def parse_rule(cls, rule: str):
        keyvalue_list = rule.split("##")

        return_dict = {}

        for keyvalue in keyvalue_list:
            info_list = keyvalue.split("=")
            return_dict[info_list[0]] = info_list[1]

        return EsMeta(**return_dict)

测试代码

使用上面定义的规则,就能在下面一大串有规则的表格数据中提取出读取es上数据所需要的内容

if name == 'main':

rule = "inType=Elasticsearch##esNodes=192.168.88.166:9200##esIndex=policy_client##esType=_doc##selectFields=user_id,sex"

obj = EsMeta.parse_rule(rule)

print(obj)

相关推荐
DFT计算杂谈23 分钟前
自动化脚本一键绘制三元化合物相图
java·运维·服务器·开发语言·前端·python·自动化
EW Frontier1 小时前
6G ISAC新范式:基于智能漏波天线的Wi‑Fi通感一体化系统设计与实测【附MATLAB+python代码】
开发语言·python·matlab·music·isac·doa·wi‑fi
姚青&1 小时前
测试技术体系
java·python
楼田莉子1 小时前
Linux网络:NAT_代理
linux·运维·服务器·开发语言·c++·后端
froginwe111 小时前
jEasyUI 创建基础树形网格
开发语言
为儿打call1 小时前
SparkSQL 广播超时排查:小表但是多分区 = BroadcastTimeout
大数据·spark
易标AI1 小时前
标书智能体(五)——如何让弱模型也能稳定输出复杂json
人工智能·python·提示词·智能体·招投标
Victory_20252 小时前
c#定时器顺序控制写法
开发语言·c#·c#顺序控制+定时器
Cyber4K2 小时前
【Python专项】Nginx访问日志分析时间范围处理示例
开发语言·python·nginx
中犇科技2 小时前
郑州无代码APP开发公司哪家好呢?推荐
开发语言