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)

相关推荐
Aerelin几秒前
爬虫playwright中的等待机制
前端·爬虫·python
p***s914 分钟前
Windows安装Rust环境(详细教程)
开发语言·windows·rust
卡比巴拉—林21 分钟前
Python print()函数详讲
开发语言·python
奶思图米球29 分钟前
Python多环境管理
开发语言·python
Aerelin32 分钟前
iframe讲解(爬虫playwright的特殊应用)
前端·爬虫·python·html
JienDa33 分钟前
JienDa聊PHP:基于协同架构的PHP主流框架优势整合与劣势补救策略
开发语言·架构·php
i***395836 分钟前
JAVA系统中Spring Boot 应用程序的配置文件:application.yml
java·开发语言·spring boot
时光追逐者1 小时前
C# 中 ?、??、??=、?: 、?. 、?[] 各种问号的用法和说明
开发语言·c#·.net·.net core
量化Mike1 小时前
【python报错】解决卸载Python时报错问题:No Python installation was detected
开发语言·python
q***01771 小时前
PHP进阶-在Ubuntu上搭建LAMP环境教程
开发语言·ubuntu·php