|
@@ -1,15 +1,18 @@
|
|
|
+from asyncio import current_task
|
|
|
from re import A
|
|
|
+from time import time
|
|
|
from typing import Optional
|
|
|
from fastapi import APIRouter
|
|
|
|
|
|
from fastapi import Depends
|
|
|
from sqlalchemy.orm import Session
|
|
|
from app import schemas
|
|
|
-from app.common.minio import FileHandler
|
|
|
|
|
|
import app.crud as crud
|
|
|
+from app.services.dag import get_tmp_table_name
|
|
|
from utils.sx_time import sxtimeit
|
|
|
from utils.sx_web import web_try
|
|
|
+from app.common.hive import hiveDs
|
|
|
|
|
|
from app import get_db
|
|
|
|
|
@@ -23,7 +26,12 @@ router = APIRouter(
|
|
|
@web_try()
|
|
|
@sxtimeit
|
|
|
def create_data_management(item: schemas.DataManagementCreate, db: Session = Depends(get_db)):
|
|
|
- return crud.create_data_management(db, item)
|
|
|
+ current_time = int(time.time())
|
|
|
+ table_name = f'project{item.project_id.lower()}_user{item.user_id.lower()}_{item.name.lower()}_{current_time}'
|
|
|
+ tmp_table_name = get_tmp_table_name(item.dag_uuid, item.node_id, str(item.out_pin), db)
|
|
|
+ # 执行临时表的转存,目前还不能,先将临时表名存入
|
|
|
+ res = crud.create_data_management(db, item, tmp_table_name)
|
|
|
+ return res
|
|
|
|
|
|
|
|
|
@router.get("/")
|
|
@@ -37,6 +45,13 @@ def get_data_managements(user_id: str, project_id: str, db: Session = Depends(ge
|
|
|
@sxtimeit
|
|
|
def delete_data_management(data_management_id: int, db: Session = Depends(get_db)):
|
|
|
data_management = crud.delete_data_management(db, data_management_id)
|
|
|
- file_handler = FileHandler("datax")
|
|
|
- file_handler.del_image(data_management.storage_path)
|
|
|
- return data_management
|
|
|
+ return data_management
|
|
|
+
|
|
|
+@router.get("/table_content")
|
|
|
+@web_try()
|
|
|
+@sxtimeit
|
|
|
+def get_data_management_content(table_name: str, page: Optional[int] = 0, size: Optional[int] = 100, db: Session = Depends(get_db)):
|
|
|
+ result = hiveDs.get_preview_data(table_name,limit=size,page=page)
|
|
|
+ data_num = hiveDs.get_data_num(table_name)
|
|
|
+ result.update({'total':data_num})
|
|
|
+ return result
|