1234567891011121314151617181920212223242526272829303132333435 |
- # -*- coding: utf-8 -*-
- """
- @author: yq
- @time: 2024/10/31
- @desc: sql直接统计指标直出
- """
- import pandas as pd
- from loader import DataLoaderBase
- from metric.metric_base import MetricBase
- class MetricBySqlGeneral(MetricBase):
- def __init__(self, metric_name: str, metric_code: str):
- super().__init__(metric_name, metric_code)
- def validate_data(self):
- pass
- def load_data(self, data_loader: DataLoaderBase, sql: str) -> pd.DataFrame:
- data = data_loader.get_data(sql)
- return data
- def calculate(self, data_loader: DataLoaderBase, sql: str) -> pd.DataFrame:
- return self.load_data(data_loader, sql)
- if __name__ == "__main__":
- from loader import DataLoaderMysql
- data_loader = DataLoaderMysql(host="101.126.81.2", port=18001, user="root", passwd="Cqrcb2024", db="test")
- metric_clzz = MetricBySqlGeneral(metric_name="auc", metric_code="auc")
- metric = metric_clzz.calculate(data_loader, "select * from test.t1")
- print(metric.head(5))
|