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)

相关推荐
StarPrayers.7 分钟前
旅行商问题(TSP)(2)(heuristics.py)(TSP 的两种贪心启发式算法实现)
前端·人工智能·python·算法·pycharm·启发式算法
qiuiuiu41314 分钟前
正点原子RK3568学习日志-编译第一个驱动程序helloworld
linux·c语言·开发语言·单片机
木头左28 分钟前
波动率聚类现象对ETF网格密度配置的启示与应对策略
python
molong9311 小时前
Kotlin 内联函数、高阶函数、扩展函数
android·开发语言·kotlin
华仔AI智能体1 小时前
Qwen3(通义千问3)、OpenAI GPT-5、DeepSeek 3.2、豆包最新模型(Doubao 4.0)通用模型能力对比
人工智能·python·语言模型·agent·智能体
盼哥PyAI实验室1 小时前
踏上编程征程,与 Python 共舞
开发语言·python
阿无,1 小时前
Java设计模式之工厂模式
java·开发语言·设计模式
西柚小萌新1 小时前
【深入浅出PyTorch】--6.2.PyTorch进阶训练技巧2
人工智能·pytorch·python
weixin_307779131 小时前
使用Python高效读取ZIP压缩文件中的UTF-8 JSON数据到Pandas和PySpark DataFrame
开发语言·python·算法·自动化·json