|
@@ -9,6 +9,8 @@ from app.crud.jm_homework_datasource_relation import get_jm_relations
|
|
|
from app.utils.send_util import *
|
|
|
from sqlalchemy.orm import Session
|
|
|
from app.common.minio import minio_client
|
|
|
+from configs.settings import DefaultOption, config
|
|
|
+DATABASE_NAME = config.get('HIVE', 'DATABASE_NAME')
|
|
|
|
|
|
type_dict = {
|
|
|
"Java": "java",
|
|
@@ -159,8 +161,14 @@ def red_dag_and_format(jm_homework: models.JmHomework, db: Session):
|
|
|
for filed in fileds:
|
|
|
script += filed['dataField'] + ','
|
|
|
script = script.strip(',')
|
|
|
- data_source = crud.get_job_jdbc_datasource(db,node_relation_dict[node['id']].datasource_id)
|
|
|
- script += ' from ' + data_source.database_name + '.'+node_relation_dict[node['id']].table+''
|
|
|
+ ds_id = node_relation_dict[node['id']].datasource_id
|
|
|
+ database_name = ""
|
|
|
+ if ds_id == -1:
|
|
|
+ database_name = DATABASE_NAME
|
|
|
+ else:
|
|
|
+ data_source = crud.get_job_jdbc_datasource(db,ds_id)
|
|
|
+ database_name = data_source.database_name
|
|
|
+ script += ' from ' + database_name + '.'+node_relation_dict[node['id']].table
|
|
|
sub_node = {
|
|
|
"id": node['id'],
|
|
|
"name": node['name'],
|
|
@@ -170,9 +178,15 @@ def red_dag_and_format(jm_homework: models.JmHomework, db: Session):
|
|
|
sub_nodes.append(sub_node)
|
|
|
elif node['op'] == 'outputsource':
|
|
|
fileds = node['data']['output_source']
|
|
|
- data_source = crud.get_job_jdbc_datasource(db,node_relation_dict[node['id']].datasource_id)
|
|
|
+ ds_id = node_relation_dict[node['id']].datasource_id
|
|
|
+ database_name = ""
|
|
|
+ if ds_id == -1:
|
|
|
+ database_name = DATABASE_NAME
|
|
|
+ else:
|
|
|
+ data_source = crud.get_job_jdbc_datasource(db,ds_id)
|
|
|
+ database_name = data_source.database_name
|
|
|
script = '''def main_func (input0, spark,sc):
|
|
|
- input0.write.mode("overwrite").saveAsTable("''' + data_source.database_name + '.'+node_relation_dict[node['id']].table+'''")'''
|
|
|
+ input0.write.mode("overwrite").saveAsTable("''' + database_name + '.'+node_relation_dict[node['id']].table+'''")'''
|
|
|
inputs = {}
|
|
|
index = 0
|
|
|
input_list = t_s[node['id']] if node['id'] in t_s.keys() else []
|