tianyunperfect преди 2 години
родител
ревизия
ea7083b202
променени са 7 файла, в които са добавени 207 реда и са изтрити 49 реда
  1. 33 0
      catboost_test.py
  2. 103 0
      flink.py
  3. 7 4
      index.html
  4. 12 0
      index1.html
  5. 38 0
      tmp.json
  6. 9 33
      tmp.py
  7. 5 12
      tmp2.py

+ 33 - 0
catboost_test.py

@@ -0,0 +1,33 @@
+# 导入必要的库
+import pandas as pd
+from catboost import CatBoostClassifier, Pool
+from sklearn.model_selection import train_test_split
+
+# 加载示例数据集
+data = pd.read_csv('/Users/alvin/Downloads/mushrooms.csv')
+X = pd.get_dummies(data.drop('class', axis=1))
+y = data['class']
+X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
+
+# 定义CatBoost分类器并训练模型
+model = CatBoostClassifier(iterations=100, depth=2, learning_rate=0.1, loss_function='Logloss')
+model.fit(X_train, y_train, verbose=False)
+
+# 评估模型性能
+print('Train accuracy:', model.score(X_train, y_train))
+print('Test accuracy:', model.score(X_test, y_test))
+
+# 保存模型
+model.save_model('catboost_model.bin')
+
+# 加载模型
+loaded_model = CatBoostClassifier()
+loaded_model.load_model('catboost_model.bin')
+
+# 使用模型进行预测
+preds_class = loaded_model.predict(X_test)
+preds_proba = loaded_model.predict_proba(X_test)
+
+# 输出预测结果
+print('Predicted classes:', preds_class)
+print('Predicted probabilities:', preds_proba)

+ 103 - 0
flink.py

@@ -0,0 +1,103 @@
+import datetime
+import json
+
+import requests
+
+
+class MyFlink:
+    def __init__(self, host):
+        self.host = host
+
+    # 返回id数组
+    def list_job1(self):
+        url = self.host + "/jobs"
+        response = requests.get(url)
+        return [job["id"] for job in response.json()['jobs']]
+
+    def list_jobs(self):
+        url = self.host + "/jobs/overview"
+        response = requests.get(url)
+        jobs = response.json()["jobs"]
+        job_details = []
+        for job in jobs:
+            job_id = job["jid"]
+            job_name = job["name"]
+            start_time = datetime.datetime.utcfromtimestamp(job["start-time"] / 1000).strftime("%Y-%m-%d %H:%M:%S UTC")
+            duration = str(datetime.timedelta(milliseconds=job["duration"]))
+            tasks = job["tasks"]["total"]
+            status = job["state"]
+            job_detail = {
+                "job_id": job_id,
+                "job_name": job_name,
+                "start_time": start_time,
+                "duration": duration,
+                "tasks": tasks,
+                "status": status
+            }
+            job_details.append(job_detail)
+        return job_details
+
+    def stop_all(self):
+        url = self.host + "/jobs/stop"
+        response = requests.post(url)
+        return response.json()
+
+    def stop_by_id(self, job_id):
+        url = self.host + f"/jobs/{job_id}/stop"
+        response = requests.post(url)
+        return response.json()
+
+    def upload_jar(self, jar_path):
+        url = self.host + "/jars/upload"
+        files = {'file': open(jar_path, 'rb')}
+        response = requests.post(url, files=files)
+        if response.json()['status'] == 'success':
+            return ["filename"].split("/")[-1]
+
+    def list_jars(self):
+        url = self.host + "/jars"
+        response = requests.get(url)
+        return response.json()['files']
+
+    def delete_jar(self, jar_id):
+        url = self.host + "/jars/" + jar_id
+        response = requests.delete(url)
+        return response.json()
+
+    # 示例
+    # [
+    #     "--input", "/path/to/input/file",
+    #     "--output", "/path/to/output/file",
+    # ]
+    def start_job(self, jar_id, program_args):
+        url = f"{self.host}/jars/{jar_id}/plan"
+        response = requests.get(url)
+        entry_class = response.json()["entryClass"]
+
+        url = self.host + f"/jars/${jar_id}/run"
+        json_data = {
+            "entryClass": entry_class,
+            "programArgs": program_args
+        }
+        response = requests.post(url, json=json_data)
+        return response.json()
+
+
+def print_json_pretty(obj):
+    print(json.dumps(obj, indent=4, ensure_ascii=False))
+
+
+if __name__ == '__main__':
+    # flink = MyFlink("https://flink.rxdpdev.k5.bigtree.tech")
+
+    # print(flink.upload_jar("/Users/alvin/bigtree/rxdp-dm-jobs/rxdp-dm-jobs-flink/target/rxdp-dm-jobs-flink-1.0-SNAPSHOT.jar"))
+    # print_json_pretty(flink.list_jars())
+    flink = MyFlink("http://121.37.84.96:8082")
+    jars = flink.list_jars()
+    # print(jars)
+    # for jar in jars:
+    #     jar_id = jar['id']
+    #     if "SNAPSHOT" not in jar_id:
+    #         print(jar_id)
+    #         print(flink.delete_jar(jar_id))
+    # print(flink.delete_jar("e9d0ec97-bcfd-4501-848e-23be742c5038_main.jar"))

+ 7 - 4
index.html

@@ -3,11 +3,14 @@
 <head>
     <meta charset="UTF-8">
     <title>Title</title>
-    <script>
-        window.location.href="https://memory.tianyunperfect.cn/"
-    </script>
+
 </head>
 <body>
-
+<input type="text" id="inputBox" readonly onfocus="myclick()">
+<script>
+    function myclick() {
+        document.getElementById('myInput').blur();
+    }
+</script>
 </body>
 </html>

+ 12 - 0
index1.html

@@ -0,0 +1,12 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <title>Title</title>
+
+</head>
+<body>
+<input type="text" id="inputBox" readonly contenteditable="true">
+
+</body>
+</html>

+ 38 - 0
tmp.json

@@ -0,0 +1,38 @@
+{
+  "address": "http://0.0.0.0:8081",
+  "files": [
+    {
+      "id": "885dd7b0-bec7-44bd-b58d-80f3da5f19e6_rxdp-dm-jobs-flink-1.0-SNAPSHOT.jar",
+      "name": "rxdp-dm-jobs-flink-1.0-SNAPSHOT.jar",
+      "uploaded": 1679985942512,
+      "entry": [
+        {
+          "name": "com.bigtreefinance.rxdp.jobs.flink.Main",
+          "description": None
+        }
+      ]
+    },
+    {
+      "id": "190a2fb3-3fb2-4f57-bf0f-03b329852661_rxdp-dm-jobs-flink-1.0-SNAPSHOT.jar",
+      "name": "rxdp-dm-jobs-flink-1.0-SNAPSHOT.jar",
+      "uploaded": 1679537605151,
+      "entry": [
+        {
+          "name": "com.bigtreefinance.rxdp.jobs.flink.Main",
+          "description": None
+        }
+      ]
+    },
+    {
+      "id": "00526f1e-1b2a-47ae-b4e9-3b1e323c0696_rxdp-dm-jobs-flink-1.0-SNAPSHOT.jar",
+      "name": "rxdp-dm-jobs-flink-1.0-SNAPSHOT.jar",
+      "uploaded": 1678872386624,
+      "entry": [
+        {
+          "name": "com.bigtreefinance.rxdp.jobs.flink.Main",
+          "description": None
+        }
+      ]
+    }
+  ]
+}

+ 9 - 33
tmp.py

@@ -1,33 +1,9 @@
-# 导入必要的库
-import pandas as pd
-from catboost import CatBoostClassifier, Pool
-from sklearn.model_selection import train_test_split
-
-# 加载示例数据集
-data = pd.read_csv('/Users/alvin/Downloads/mushrooms.csv')
-X = pd.get_dummies(data.drop('class', axis=1))
-y = data['class']
-X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
-
-# 定义CatBoost分类器并训练模型
-model = CatBoostClassifier(iterations=100, depth=2, learning_rate=0.1, loss_function='Logloss')
-model.fit(X_train, y_train, verbose=False)
-
-# 评估模型性能
-print('Train accuracy:', model.score(X_train, y_train))
-print('Test accuracy:', model.score(X_test, y_test))
-
-# 保存模型
-model.save_model('catboost_model.bin')
-
-# 加载模型
-loaded_model = CatBoostClassifier()
-loaded_model.load_model('catboost_model.bin')
-
-# 使用模型进行预测
-preds_class = loaded_model.predict(X_test)
-preds_proba = loaded_model.predict_proba(X_test)
-
-# 输出预测结果
-print('Predicted classes:', preds_class)
-print('Predicted probabilities:', preds_proba)
+list09 = [(0.7500000000, '蔷薇融资租赁有限公司', 'df239e9f-dc58-4123-a0ec-39a9a66e9b08'), (0.0177000000, '湖南领湃达志科技股份有限公司', 'ee0948ba-7169-4ef8-afda-6a0b130d3f8b'), (1.0000000000, '蔷薇资本有限公司', '9fc0f9f6-bbcf-4b36-acc1-9c2e43e2ca7e'), (1.0000000000, '蔷薇林氏国际贸易有限公司', 'df239e9f-dc58-4123-a0ec-39a9a66e9b08'), (0.4950000000, '杭州江翰企业管理合伙企业(有限合伙)', '19c2341b-a747-4b6e-ab2e-c86847620816'), (0.6000000000, '北京紫金蔷薇投资基金管理中心(有限合伙)', '5edc4617-69b8-46ae-a49b-e15bfa9a8deb'), (1.0000000000, '蔷薇不动产投资有限公司', 'df239e9f-dc58-4123-a0ec-39a9a66e9b08'), (1.0000000000, '蔷薇控股(深圳)有限公司', '74d2a977-481d-4aa2-ab5b-1633afe319ce'), (1.0000000000, '小薇科技有限公司', '3763287c-9c98-4160-a569-855a5152cea3'),
+          (1.0000000000, '蔷薇(上海)企业发展有限公司', 'c5d20f5f-e348-40e8-b3ea-1a0e324cd46f')]
+res = {}
+for t1 in list09:
+    if t1[2] in res:
+        res[t1[2]] = (res[t1[2]][0] + t1[0], t1[1], t1[2])
+    else:
+        res[t1[2]] = t1
+print(list(res.values()))

+ 5 - 12
tmp2.py

@@ -1,13 +1,6 @@
-from sklearn.preprocessing import MinMaxScaler
+import redis
 
-# 原始数据集
-data = [[1000, 200000], [1500, 300000], [1200, 240000], [1800, 360000]]
-
-# 定义MinMaxScaler对象
-scaler = MinMaxScaler()
-
-# 对数据进行归一化
-data_normalized = scaler.fit_transform(data)
-
-# 输出归一化后的数据集
-print(data_normalized)
+r = redis.StrictRedis(host='redis-master.rxdpdev.svc.k5.bigtree.zone', port=6379, db=0, password='SB6vdem')
+r.set('foo', 'bar')
+print(r.get('foo'))
+print(r.keys())