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)

相关推荐
RSABLOCKCHAIN1 小时前
AI Agents in LangGraph-2
人工智能·python
WA内核拾荒者2 小时前
WhatsApp 账号异常检测的自动化告警系统设计
数据库·python·自动化
码流怪侠3 小时前
【GitHub】Bend:让 GPU 并行编程像写 Python 一样简单
python·github
魔力女仆3 小时前
分享一个 JS 鼠标跟随贪吃蛇背景库
开发语言·javascript·计算机外设
2401_894915534 小时前
GEO 搜索优化完整源码从零部署:环境配置、集群搭建全流程
开发语言·python·tcp/ip·算法·unity
麻瓜老宋4 小时前
AI开发C语言应用按步走,表达式计算器calc的第二十二步,分号赋值链式修复、TOKEN_ASSIGN
c语言·开发语言·atomcode
zhiSiBuYu05175 小时前
Python3 模块开发与应用实战指南
python
颜x小6 小时前
[C#] C++与c#语法对比
开发语言·c++·c#
databook6 小时前
用方差阈值过滤掉“惰性特征”
python·机器学习·scikit-learn