add workflow 泰克客户,dev
This commit is contained in:
		
							parent
							
								
									ae0ce2dc04
								
							
						
					
					
						commit
						359248192f
					
				|  | @ -0,0 +1,32 @@ | ||||||
|  | 
 | ||||||
|  | CREATE FOREIGN TABLE if not exists p00_tal.S98_S_livechat ( | ||||||
|  |  conference_id  TEXT  | ||||||
|  | 	, create_date  TEXT  | ||||||
|  | 	, start_date  TEXT  | ||||||
|  | 	, start_url  TEXT  | ||||||
|  | 	, referrer  TEXT  | ||||||
|  | 	, chat_dura  TEXT  | ||||||
|  | 	, queue_dura  TEXT  | ||||||
|  | 	, visitor_id  TEXT  | ||||||
|  | 	, visit_nick  TEXT  | ||||||
|  | 	, visitor_ip  TEXT  | ||||||
|  | 	, visitor_email  TEXT  | ||||||
|  | 	, operator_id  TEXT  | ||||||
|  | 	, group_id  TEXT  | ||||||
|  | 	, group_name  TEXT  | ||||||
|  | 	, rate  TEXT  | ||||||
|  | 	, last_rate_comment  TEXT  | ||||||
|  | 	, operator_1_nick  TEXT  | ||||||
|  | 	, operator_2_nick  TEXT  | ||||||
|  | 	, operator_3_nick  TEXT  | ||||||
|  | 	, operator_4_nick  TEXT  | ||||||
|  | 	, etl_tx_dt  TIMESTAMP  | ||||||
|  | )  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | SERVER pgsql_server_S98_S OPTIONS(schema_name 'data_api', table_name 'livechat' );  | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | @ -0,0 +1,99 @@ | ||||||
|  | 
 | ||||||
|  | create table if not exists p10_sa.S98_S_livechat ( | ||||||
|  | 	 conference_id  TEXT  | ||||||
|  | 	, create_date  TEXT  | ||||||
|  | 	, start_date  TEXT  | ||||||
|  | 	, start_url  TEXT  | ||||||
|  | 	, referrer  TEXT  | ||||||
|  | 	, chat_dura  TEXT  | ||||||
|  | 	, queue_dura  TEXT  | ||||||
|  | 	, visitor_id  TEXT  | ||||||
|  | 	, visit_nick  TEXT  | ||||||
|  | 	, visitor_ip  TEXT  | ||||||
|  | 	, visitor_email  TEXT  | ||||||
|  | 	, operator_id  TEXT  | ||||||
|  | 	, group_id  TEXT  | ||||||
|  | 	, group_name  TEXT  | ||||||
|  | 	, rate  TEXT  | ||||||
|  | 	, last_rate_comment  TEXT  | ||||||
|  | 	, operator_1_nick  TEXT  | ||||||
|  | 	, operator_2_nick  TEXT  | ||||||
|  | 	, operator_3_nick  TEXT  | ||||||
|  | 	, operator_4_nick  TEXT  | ||||||
|  | 	, etl_tx_dt  TIMESTAMP  | ||||||
|  | ) ;  | ||||||
|  | 
 | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.conference_id IS 'conferenceId';  | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.create_date IS 'chat creation date Asia/Shanghai';  | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.start_date IS 'chat start date Asia/Shanghai';  | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.start_url IS 'chat start url';  | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.referrer IS 'referrer';  | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.chat_dura IS 'chat duration in seconds';  | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.queue_dura IS 'queue duration in seconds';  | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.visitor_id IS 'visitor livechat id';  | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.visit_nick IS 'visitor nick';  | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.visitor_ip IS 'visitor ip';  | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.visitor_email IS 'visitor email';  | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_id IS 'last operator id';  | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.group_id IS 'group';  | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.group_name IS 'group name';  | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.rate IS 'rate';  | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.last_rate_comment IS 'last rate comment';  | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_1_nick IS 'operator 1 nick';  | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_2_nick IS 'operator 2 nick';  | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_3_nick IS 'operator 3 nick';  | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.operator_4_nick IS 'operator 4 nick';  | ||||||
|  |  COMMENT ON COLUMN p10_sa.S98_S_livechat.etl_tx_dt IS '';  | ||||||
|  | 
 | ||||||
|  | COMMENT ON TABLE p10_sa.S98_S_livechat IS ''; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | create table if not exists p12_sfull.S98_S_livechat ( | ||||||
|  | 	 conference_id  TEXT  | ||||||
|  | 	, create_date  TEXT  | ||||||
|  | 	, start_date  TEXT  | ||||||
|  | 	, start_url  TEXT  | ||||||
|  | 	, referrer  TEXT  | ||||||
|  | 	, chat_dura  TEXT  | ||||||
|  | 	, queue_dura  TEXT  | ||||||
|  | 	, visitor_id  TEXT  | ||||||
|  | 	, visit_nick  TEXT  | ||||||
|  | 	, visitor_ip  TEXT  | ||||||
|  | 	, visitor_email  TEXT  | ||||||
|  | 	, operator_id  TEXT  | ||||||
|  | 	, group_id  TEXT  | ||||||
|  | 	, group_name  TEXT  | ||||||
|  | 	, rate  TEXT  | ||||||
|  | 	, last_rate_comment  TEXT  | ||||||
|  | 	, operator_1_nick  TEXT  | ||||||
|  | 	, operator_2_nick  TEXT  | ||||||
|  | 	, operator_3_nick  TEXT  | ||||||
|  | 	, operator_4_nick  TEXT  | ||||||
|  | 	, etl_tx_dt  TIMESTAMP  | ||||||
|  | ) ;  | ||||||
|  | 
 | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.conference_id IS 'conferenceId';  | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.create_date IS 'chat creation date Asia/Shanghai';  | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.start_date IS 'chat start date Asia/Shanghai';  | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.start_url IS 'chat start url';  | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.referrer IS 'referrer';  | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.chat_dura IS 'chat duration in seconds';  | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.queue_dura IS 'queue duration in seconds';  | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.visitor_id IS 'visitor livechat id';  | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.visit_nick IS 'visitor nick';  | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.visitor_ip IS 'visitor ip';  | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.visitor_email IS 'visitor email';  | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_id IS 'last operator id';  | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.group_id IS 'group';  | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.group_name IS 'group name';  | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.rate IS 'rate';  | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.last_rate_comment IS 'last rate comment';  | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_1_nick IS 'operator 1 nick';  | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_2_nick IS 'operator 2 nick';  | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_3_nick IS 'operator 3 nick';  | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.operator_4_nick IS 'operator 4 nick';  | ||||||
|  |  COMMENT ON COLUMN p12_sfull.S98_S_livechat.etl_tx_dt IS '';  | ||||||
|  | 
 | ||||||
|  | COMMENT ON TABLE p12_sfull.S98_S_livechat IS ''; | ||||||
|  | 
 | ||||||
|  | @ -0,0 +1,70 @@ | ||||||
|  | #!/usr/bin/python | ||||||
|  | # -*- encoding=utf-8 -*- | ||||||
|  | from airflow import DAG | ||||||
|  | from datetime import datetime, timedelta | ||||||
|  | from airflow.contrib.hooks.ssh_hook import SSHHook | ||||||
|  | from airflow.contrib.operators.ssh_operator import SSHOperator | ||||||
|  | from airflow.sensors.external_task_sensor import ExternalTaskSensor | ||||||
|  | import json | ||||||
|  | 
 | ||||||
|  | from airflow.operators.email_operator import EmailOperator | ||||||
|  | from airflow.utils.trigger_rule import TriggerRule | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | sshHook = SSHHook(ssh_conn_id ='ssh_air') | ||||||
|  | default_args = { | ||||||
|  | 'owner': 'info@idgvalue.com', | ||||||
|  | 'email': [''], | ||||||
|  | 'email_on_failure': True, | ||||||
|  | 'email_on_retry':True, | ||||||
|  | 'start_date': datetime(2022, 9, 12), | ||||||
|  | 'depends_on_past': False, | ||||||
|  | 'retries': 6, | ||||||
|  | 'retry_delay': timedelta(minutes=10), | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | dag = DAG('wf_dag_tk_cust', default_args=default_args, | ||||||
|  | schedule_interval="0 0 * * *", | ||||||
|  | catchup=False, | ||||||
|  | dagrun_timeout=timedelta(minutes=160), | ||||||
|  | max_active_runs=3) | ||||||
|  | 
 | ||||||
|  | task_failed = EmailOperator ( | ||||||
|  |     dag=dag, | ||||||
|  |     trigger_rule=TriggerRule.ONE_FAILED, | ||||||
|  |     task_id="task_failed", | ||||||
|  |     to=["info@idgvalue.com"], | ||||||
|  |     cc=[""], | ||||||
|  |     subject="tk_cust_failed", | ||||||
|  |     html_content='<h3>您好,tk_cust作业失败,请及时处理" </h3>') | ||||||
|  | 
 | ||||||
|  | file_Tk01 = SSHOperator( | ||||||
|  | ssh_hook=sshHook, | ||||||
|  | task_id='file_Tk01', | ||||||
|  | command='python /data/airflow/bin/FILELOD.py {{ params.my_param }} {{ ds_nodash }}  >>/data/airflow/logs/file_load/file_load_{{ds_nodash}}.log 2>&1 ', | ||||||
|  | params={'my_param':"Tk01"}, | ||||||
|  | depends_on_past=False,  | ||||||
|  | retries=3,  | ||||||
|  | dag=dag) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | livechat_6381 = SSHOperator( | ||||||
|  | ssh_hook=sshHook, | ||||||
|  | task_id='livechat_6381', | ||||||
|  | command='/data/airflow/etl/SA/run_sa.sh {{ ds_nodash }} {{ params.my_param }} >>/data/airflow/logs/run_psql_{{ds_nodash}}.log 2>&1 ', | ||||||
|  | params={'my_param':"S98_S_livechat"}, | ||||||
|  | depends_on_past=False,  | ||||||
|  | retries=3,  | ||||||
|  | dag=dag) | ||||||
|  | 
 | ||||||
|  | t01_chatrecord = SSHOperator( | ||||||
|  | ssh_hook=sshHook, | ||||||
|  | task_id='t01_chatrecord', | ||||||
|  | command='/data/airflow/etl/PDM/run_sa.sh {{ ds_nodash }} {{params.my_param}} >>/data/airflow/logs/run_tpt_{{ds_nodash}}.log 2>&1 ', | ||||||
|  | params={'my_param':"t01_chatrecord_agi"}, | ||||||
|  | depends_on_past=False,  | ||||||
|  | retries=3,  | ||||||
|  | dag=dag) | ||||||
|  | file_Tk01 >> livechat_6381 | ||||||
|  | livechat_6381 >> t01_chatrecord | ||||||
|  | t01_chatrecord >> task_failed  | ||||||
|  | @ -0,0 +1,62 @@ | ||||||
|  | 
 | ||||||
|  | DROP TABLE IF EXISTS p20_pdm.t01_chatrecord; | ||||||
|  | CREATE TABLE IF NOT EXISTS p20_pdm.t01_chatrecord ( | ||||||
|  | 	 conference_id  text  | ||||||
|  | 	, create_date  text  | ||||||
|  | 	, start_date  text  | ||||||
|  | 	, start_url  text  | ||||||
|  | 	, referrer  text  | ||||||
|  | 	, chat_dura  text  | ||||||
|  | 	, queue_dura  text  | ||||||
|  | 	, visitor_id  text  | ||||||
|  | 	, visit_nick  text  | ||||||
|  | 	, visitor_ip  text  | ||||||
|  | 	, visitor_email  text  | ||||||
|  | 	, operator_id  text  | ||||||
|  | 	, group_id  text  | ||||||
|  | 	, group_name  text  | ||||||
|  | 	, rate  text  | ||||||
|  | 	, last_rate_comment  text  | ||||||
|  | 	, operator_1_nick  text  | ||||||
|  | 	, operator_2_nick  text  | ||||||
|  | 	, operator_3_nick  text  | ||||||
|  | 	, operator_4_nick  text  | ||||||
|  | 	, Etl_Batch_No  varchar(50)  | ||||||
|  | 	, Etl_First_Dt  timestamp(0)  | ||||||
|  | 	, Etl_Job  varchar(50)  | ||||||
|  | 	, Etl_Proc_Dt  timestamp(0)  | ||||||
|  | 	, Etl_Tx_Dt  timestamp(0)  | ||||||
|  | 	, Src_Sysname  varchar(50)  | ||||||
|  | 	, Src_Table  varchar(50)  | ||||||
|  | 	,primary key( conference_id ) | ||||||
|  | ); | ||||||
|  | 
 | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.conference_id IS 'conferenceId';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.create_date IS 'chat creation date Asia/Shanghai';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.start_date IS 'chat start date Asia/Shanghai';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.start_url IS 'chat start url';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.referrer IS 'referrer';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.chat_dura IS 'chat duration in seconds';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.queue_dura IS 'queue duration in seconds';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.visitor_id IS 'visitor livechat id';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.visit_nick IS 'visitor nick';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.visitor_ip IS 'visitor ip';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.visitor_email IS 'visitor email';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.operator_id IS 'last operator id';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.group_id IS 'group';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.group_name IS 'group name';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.rate IS 'rate';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.last_rate_comment IS 'last rate comment';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.operator_1_nick IS 'operator 1 nick';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.operator_2_nick IS 'operator 2 nick';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.operator_3_nick IS 'operator 3 nick';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.operator_4_nick IS 'operator 4 nick';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.Etl_Batch_No IS '作业批次号';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.Etl_First_Dt IS '最初入库时间';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.Etl_Job IS '作业名称';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.Etl_Proc_Dt IS '本次入库时间';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.Etl_Tx_Dt IS '作业运行时间';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.Src_Sysname IS '来源系统';  | ||||||
|  |  COMMENT ON COLUMN p20_pdm.t01_chatrecord.Src_Table IS '来源表';  | ||||||
|  | 
 | ||||||
|  | COMMENT ON TABLE p20_pdm.t01_chatrecord IS '聊天记录'; | ||||||
|  | @ -0,0 +1,307 @@ | ||||||
|  | /***************************************************************************************************/ | ||||||
|  | /*script in Sql, generate by SdmCreateScript 2020(by Qihang Feng, QF255001@TERADATA.COM)     */ | ||||||
|  | /*VERSION 01.10 revised on 2020-08-25                                                              */ | ||||||
|  | /*Brilliance stems from wisdoms.                                                                   */ | ||||||
|  | /*************Head Section**************************************************************************/ | ||||||
|  | /*Script Use: Periodically load data to :t01_chatrecord(聊天记录)             */ | ||||||
|  | /*Create Date:2023-12-26 11:11:23                                                                  */ | ||||||
|  | /*SDM Developed By: dev                                                                            */ | ||||||
|  | /*SDM Developed Date: 2023-12-26                                                                   */ | ||||||
|  | /*SDM Checked By: dev                                                                              */ | ||||||
|  | /*SDM Checked Date: 2023-12-26                                                                     */ | ||||||
|  | /*Script Developed By: dev                                                                         */ | ||||||
|  | /*Script Checked By: dev                                                                           */ | ||||||
|  | /*Source table 1: p10_sa.s98_s_livechat                                                            */ | ||||||
|  | /*Job Type: Inbound transform (Tier 1 to Tier 2)                                                   */ | ||||||
|  | /*Target Table:t01_chatrecord                                                                      */ | ||||||
|  | /*ETL Job Name:t01_chatrecord                                                                      */ | ||||||
|  | /*ETL Frequency:Daily                                                                              */ | ||||||
|  | /*ETL Policy:F2                                                                                    */ | ||||||
|  | /********************************************************************************************/ | ||||||
|  | /*******Main Section**************************************************************************/ | ||||||
|  | \set ON_ERROR_STOP on | ||||||
|  | \set AUTOCOMMIT on | ||||||
|  | \timing on | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /*创建临时表加载当前数据                                                                           */ | ||||||
|  | CREATE TEMPORARY TABLE t01_chatrecord_agi_CUR_I  | ||||||
|  |  ( LIKE :PDMDB.t01_chatrecord) | ||||||
|  | ON COMMIT PRESERVE ROWS; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /*创建临时表加载不同数据                                                                           */ | ||||||
|  | CREATE TEMPORARY TABLE t01_chatrecord_agi_INS  | ||||||
|  | ( LIKE :PDMDB.t01_chatrecord) | ||||||
|  | ON COMMIT PRESERVE ROWS; | ||||||
|  | 
 | ||||||
|  |              | ||||||
|  | /*****************************************************************************************************/ | ||||||
|  | /* GROUP 1:Source Table:s98_s_livechat****************************************************************/ | ||||||
|  | /*****************************************************************************************************/ | ||||||
|  | INSERT INTO t01_chatrecord_agi_CUR_I ( | ||||||
|  |             conference_id                           /*conferenceId*/ | ||||||
|  |            ,create_date                             /*chat creation date Asia/Shanghai*/ | ||||||
|  |            ,start_date                              /*chat start date Asia/Shanghai*/ | ||||||
|  |            ,start_url                               /*chat start url*/ | ||||||
|  |            ,referrer                                /*referrer*/ | ||||||
|  |            ,chat_dura                               /*chat duration in seconds*/ | ||||||
|  |            ,queue_dura                              /*queue duration in seconds*/ | ||||||
|  |            ,visitor_id                              /*visitor livechat id*/ | ||||||
|  |            ,visit_nick                              /*visitor nick*/ | ||||||
|  |            ,visitor_ip                              /*visitor ip*/ | ||||||
|  |            ,visitor_email                           /*visitor email*/ | ||||||
|  |            ,operator_id                             /*last operator id*/ | ||||||
|  |            ,group_id                                /*group*/ | ||||||
|  |            ,group_name                              /*group name*/ | ||||||
|  |            ,rate                                    /*rate*/ | ||||||
|  |            ,last_rate_comment                       /*last rate comment*/ | ||||||
|  |            ,operator_1_nick                         /*operator 1 nick*/ | ||||||
|  |            ,operator_2_nick                         /*operator 2 nick*/ | ||||||
|  |            ,operator_3_nick                         /*operator 3 nick*/ | ||||||
|  |            ,operator_4_nick                         /*operator 4 nick*/ | ||||||
|  |            ,Etl_Batch_No                            /*作业批次号*/ | ||||||
|  |            ,Etl_First_Dt                            /*最初入库时间*/ | ||||||
|  |            ,Etl_Job                                 /*作业名称*/ | ||||||
|  |            ,Etl_Proc_Dt                             /*本次入库时间*/ | ||||||
|  |            ,Etl_Tx_Dt                               /*作业运行时间*/ | ||||||
|  |            ,Src_Sysname                             /*来源系统*/ | ||||||
|  |            ,Src_Table                               /*来源表*/ | ||||||
|  |         ) | ||||||
|  | SELECT | ||||||
|  |          COALESCE(TRIM(p0.conference_id),'')                       /*conference_id*/ | ||||||
|  |         ,COALESCE(TRIM(p0.create_date),'')                         /*create_date*/ | ||||||
|  |         ,COALESCE(TRIM(p0.start_date),'')                          /*start_date*/ | ||||||
|  |         ,COALESCE(TRIM(p0.start_url),'')                           /*start_url*/ | ||||||
|  |         ,COALESCE(TRIM(p0.referrer),'')                            /*referrer*/ | ||||||
|  |         ,COALESCE(TRIM(p0.chat_dura),'')                           /*chat_dura*/ | ||||||
|  |         ,COALESCE(TRIM(p0.queue_dura),'')                          /*queue_dura*/ | ||||||
|  |         ,COALESCE(TRIM(p0.visitor_id),'')                          /*visitor_id*/ | ||||||
|  |         ,COALESCE(TRIM(p0.visit_nick),'')                          /*visit_nick*/ | ||||||
|  |         ,COALESCE(TRIM(p0.visitor_ip),'')                          /*visitor_ip*/ | ||||||
|  |         ,COALESCE(TRIM(p0.visitor_email),'')                       /*visitor_email*/ | ||||||
|  |         ,COALESCE(TRIM(p0.operator_id),'')                         /*operator_id*/ | ||||||
|  |         ,COALESCE(TRIM(p0.group_id),'')                            /*group_id*/ | ||||||
|  |         ,COALESCE(TRIM(p0.group_name),'')                          /*group_name*/ | ||||||
|  |         ,COALESCE(TRIM(p0.rate),'')                                /*rate*/ | ||||||
|  |         ,COALESCE(TRIM(p0.last_rate_comment),'')                   /*last_rate_comment*/ | ||||||
|  |         ,COALESCE(TRIM(p0.operator_1_nick),'')                     /*operator_1_nick*/ | ||||||
|  |         ,COALESCE(TRIM(p0.operator_2_nick),'')                     /*operator_2_nick*/ | ||||||
|  |         ,COALESCE(TRIM(p0.operator_3_nick),'')                     /*operator_3_nick*/ | ||||||
|  |         ,COALESCE(TRIM(p0.operator_4_nick),'')                     /*operator_4_nick*/ | ||||||
|  |         ,0                                                         /*Etl_Batch_No*/ | ||||||
|  |         ,TO_DATE(:TXDATE,'YYYYMMDD')                               /*Etl_First_Dt*/ | ||||||
|  |         ,:ETLJOB                                                   /*Etl_Job*/ | ||||||
|  |         ,current_timestamp(0)                                      /*Etl_Proc_Dt*/ | ||||||
|  |         ,TO_DATE(:TXDATE,'YYYYMMDD')                               /*Etl_Tx_Dt*/ | ||||||
|  |         ,Substr('s98_s_livechat',1,3)                              /*Src_Sysname*/ | ||||||
|  |         ,'s98_s_livechat'                                          /*Src_Table*/ | ||||||
|  |          | ||||||
|  | FROM p10_sa.s98_s_livechat  p0 | ||||||
|  | ; | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | /*将不同数据插入到临时表                                                                           */ | ||||||
|  | ;INSERT INTO t01_chatrecord_agi_INS ( | ||||||
|  |          create_date                                               /*chat creation date Asia/Shanghai*/ | ||||||
|  |         ,start_date                                                /*chat start date Asia/Shanghai*/ | ||||||
|  |         ,start_url                                                 /*chat start url*/ | ||||||
|  |         ,referrer                                                  /*referrer*/ | ||||||
|  |         ,chat_dura                                                 /*chat duration in seconds*/ | ||||||
|  |         ,queue_dura                                                /*queue duration in seconds*/ | ||||||
|  |         ,visitor_id                                                /*visitor livechat id*/ | ||||||
|  |         ,visit_nick                                                /*visitor nick*/ | ||||||
|  |         ,visitor_ip                                                /*visitor ip*/ | ||||||
|  |         ,visitor_email                                             /*visitor email*/ | ||||||
|  |         ,operator_id                                               /*last operator id*/ | ||||||
|  |         ,group_id                                                  /*group*/ | ||||||
|  |         ,group_name                                                /*group name*/ | ||||||
|  |         ,rate                                                      /*rate*/ | ||||||
|  |         ,last_rate_comment                                         /*last rate comment*/ | ||||||
|  |         ,operator_1_nick                                           /*operator 1 nick*/ | ||||||
|  |         ,operator_2_nick                                           /*operator 2 nick*/ | ||||||
|  |         ,operator_3_nick                                           /*operator 3 nick*/ | ||||||
|  |         ,operator_4_nick                                           /*operator 4 nick*/ | ||||||
|  |         ,conference_id                                             /*conferenceId*/ | ||||||
|  |         ,Etl_Batch_No                                              /*作业批次号*/ | ||||||
|  |         ,Etl_First_Dt                                              /*最初入库时间*/ | ||||||
|  |         ,Etl_Job                                                   /*作业名称*/ | ||||||
|  |         ,Etl_Proc_Dt                                               /*本次入库时间*/ | ||||||
|  |         ,Etl_Tx_Dt                                                 /*作业运行时间*/ | ||||||
|  |         ,Src_Sysname                                               /*来源系统*/ | ||||||
|  |         ,Src_Table                                                 /*来源表*/ | ||||||
|  |          | ||||||
|  | ) | ||||||
|  |     SELECT | ||||||
|  |          P1.create_date                                               /*chat creation date Asia/Shanghai*/ | ||||||
|  |         ,P1.start_date                                                /*chat start date Asia/Shanghai*/ | ||||||
|  |         ,P1.start_url                                                 /*chat start url*/ | ||||||
|  |         ,P1.referrer                                                  /*referrer*/ | ||||||
|  |         ,P1.chat_dura                                                 /*chat duration in seconds*/ | ||||||
|  |         ,P1.queue_dura                                                /*queue duration in seconds*/ | ||||||
|  |         ,P1.visitor_id                                                /*visitor livechat id*/ | ||||||
|  |         ,P1.visit_nick                                                /*visitor nick*/ | ||||||
|  |         ,P1.visitor_ip                                                /*visitor ip*/ | ||||||
|  |         ,P1.visitor_email                                             /*visitor email*/ | ||||||
|  |         ,P1.operator_id                                               /*last operator id*/ | ||||||
|  |         ,P1.group_id                                                  /*group*/ | ||||||
|  |         ,P1.group_name                                                /*group name*/ | ||||||
|  |         ,P1.rate                                                      /*rate*/ | ||||||
|  |         ,P1.last_rate_comment                                         /*last rate comment*/ | ||||||
|  |         ,P1.operator_1_nick                                           /*operator 1 nick*/ | ||||||
|  |         ,P1.operator_2_nick                                           /*operator 2 nick*/ | ||||||
|  |         ,P1.operator_3_nick                                           /*operator 3 nick*/ | ||||||
|  |         ,P1.operator_4_nick                                           /*operator 4 nick*/ | ||||||
|  |         ,P1.conference_id                                             /*conferenceId*/ | ||||||
|  |         ,P1.Etl_Batch_No                                              /*作业批次号*/ | ||||||
|  |         ,P1.Etl_First_Dt                                              /*最初入库时间*/ | ||||||
|  |         ,P1.Etl_Job                                                   /*作业名称*/ | ||||||
|  |         ,P1.Etl_Proc_Dt                                               /*本次入库时间*/ | ||||||
|  |         ,P1.Etl_Tx_Dt                                                 /*作业运行时间*/ | ||||||
|  |         ,P1.Src_Sysname                                               /*来源系统*/ | ||||||
|  |         ,P1.Src_Table                                                 /*来源表*/ | ||||||
|  |          | ||||||
|  | FROM t01_chatrecord_agi_CUR_I P1 | ||||||
|  | LEFT JOIN :PDMDB.t01_chatrecord P2 | ||||||
|  | ON    P1.create_date = P2.create_date | ||||||
|  |     AND P1.start_date = P2.start_date | ||||||
|  |     AND P1.start_url = P2.start_url | ||||||
|  |     AND P1.referrer = P2.referrer | ||||||
|  |     AND P1.chat_dura = P2.chat_dura | ||||||
|  |     AND P1.queue_dura = P2.queue_dura | ||||||
|  |     AND P1.visitor_id = P2.visitor_id | ||||||
|  |     AND P1.visit_nick = P2.visit_nick | ||||||
|  |     AND P1.visitor_ip = P2.visitor_ip | ||||||
|  |     AND P1.visitor_email = P2.visitor_email | ||||||
|  |     AND P1.operator_id = P2.operator_id | ||||||
|  |     AND P1.group_id = P2.group_id | ||||||
|  |     AND P1.group_name = P2.group_name | ||||||
|  |     AND P1.rate = P2.rate | ||||||
|  |     AND P1.last_rate_comment = P2.last_rate_comment | ||||||
|  |     AND P1.operator_1_nick = P2.operator_1_nick | ||||||
|  |     AND P1.operator_2_nick = P2.operator_2_nick | ||||||
|  |     AND P1.operator_3_nick = P2.operator_3_nick | ||||||
|  |     AND P1.operator_4_nick = P2.operator_4_nick | ||||||
|  |     AND P1.conference_id = P2.conference_id | ||||||
|  |      | ||||||
|  | WHERE  P2.create_date IS NULL | ||||||
|  |     OR P2.start_date IS NULL | ||||||
|  |     OR P2.start_url IS NULL | ||||||
|  |     OR P2.referrer IS NULL | ||||||
|  |     OR P2.chat_dura IS NULL | ||||||
|  |     OR P2.queue_dura IS NULL | ||||||
|  |     OR P2.visitor_id IS NULL | ||||||
|  |     OR P2.visit_nick IS NULL | ||||||
|  |     OR P2.visitor_ip IS NULL | ||||||
|  |     OR P2.visitor_email IS NULL | ||||||
|  |     OR P2.operator_id IS NULL | ||||||
|  |     OR P2.group_id IS NULL | ||||||
|  |     OR P2.group_name IS NULL | ||||||
|  |     OR P2.rate IS NULL | ||||||
|  |     OR P2.last_rate_comment IS NULL | ||||||
|  |     OR P2.operator_1_nick IS NULL | ||||||
|  |     OR P2.operator_2_nick IS NULL | ||||||
|  |     OR P2.operator_3_nick IS NULL | ||||||
|  |     OR P2.operator_4_nick IS NULL | ||||||
|  |     OR P2.conference_id IS NULL | ||||||
|  |      | ||||||
|  | ;  | ||||||
|  | /*将新增数据插入到目标表                                                                           */ | ||||||
|  | ;INSERT INTO :PDMDB.t01_chatrecord ( | ||||||
|  |          create_date                                               /*chat creation date Asia/Shanghai*/ | ||||||
|  |         ,start_date                                                /*chat start date Asia/Shanghai*/ | ||||||
|  |         ,start_url                                                 /*chat start url*/ | ||||||
|  |         ,referrer                                                  /*referrer*/ | ||||||
|  |         ,chat_dura                                                 /*chat duration in seconds*/ | ||||||
|  |         ,queue_dura                                                /*queue duration in seconds*/ | ||||||
|  |         ,visitor_id                                                /*visitor livechat id*/ | ||||||
|  |         ,visit_nick                                                /*visitor nick*/ | ||||||
|  |         ,visitor_ip                                                /*visitor ip*/ | ||||||
|  |         ,visitor_email                                             /*visitor email*/ | ||||||
|  |         ,operator_id                                               /*last operator id*/ | ||||||
|  |         ,group_id                                                  /*group*/ | ||||||
|  |         ,group_name                                                /*group name*/ | ||||||
|  |         ,rate                                                      /*rate*/ | ||||||
|  |         ,last_rate_comment                                         /*last rate comment*/ | ||||||
|  |         ,operator_1_nick                                           /*operator 1 nick*/ | ||||||
|  |         ,operator_2_nick                                           /*operator 2 nick*/ | ||||||
|  |         ,operator_3_nick                                           /*operator 3 nick*/ | ||||||
|  |         ,operator_4_nick                                           /*operator 4 nick*/ | ||||||
|  |         ,conference_id                                             /*conferenceId*/ | ||||||
|  |         ,Etl_Batch_No                                              /*作业批次号*/ | ||||||
|  |         ,Etl_First_Dt                                              /*最初入库时间*/ | ||||||
|  |         ,Etl_Job                                                   /*作业名称*/ | ||||||
|  |         ,Etl_Proc_Dt                                               /*本次入库时间*/ | ||||||
|  |         ,Etl_Tx_Dt                                                 /*作业运行时间*/ | ||||||
|  |         ,Src_Sysname                                               /*来源系统*/ | ||||||
|  |         ,Src_Table                                                 /*来源表*/ | ||||||
|  |          | ||||||
|  | ) | ||||||
|  | SELECT | ||||||
|  |          P1.create_date                                               /*chat creation date Asia/Shanghai*/ | ||||||
|  |         ,P1.start_date                                                /*chat start date Asia/Shanghai*/ | ||||||
|  |         ,P1.start_url                                                 /*chat start url*/ | ||||||
|  |         ,P1.referrer                                                  /*referrer*/ | ||||||
|  |         ,P1.chat_dura                                                 /*chat duration in seconds*/ | ||||||
|  |         ,P1.queue_dura                                                /*queue duration in seconds*/ | ||||||
|  |         ,P1.visitor_id                                                /*visitor livechat id*/ | ||||||
|  |         ,P1.visit_nick                                                /*visitor nick*/ | ||||||
|  |         ,P1.visitor_ip                                                /*visitor ip*/ | ||||||
|  |         ,P1.visitor_email                                             /*visitor email*/ | ||||||
|  |         ,P1.operator_id                                               /*last operator id*/ | ||||||
|  |         ,P1.group_id                                                  /*group*/ | ||||||
|  |         ,P1.group_name                                                /*group name*/ | ||||||
|  |         ,P1.rate                                                      /*rate*/ | ||||||
|  |         ,P1.last_rate_comment                                         /*last rate comment*/ | ||||||
|  |         ,P1.operator_1_nick                                           /*operator 1 nick*/ | ||||||
|  |         ,P1.operator_2_nick                                           /*operator 2 nick*/ | ||||||
|  |         ,P1.operator_3_nick                                           /*operator 3 nick*/ | ||||||
|  |         ,P1.operator_4_nick                                           /*operator 4 nick*/ | ||||||
|  |         ,P1.conference_id                                             /*conferenceId*/ | ||||||
|  |         ,P1.Etl_Batch_No                                              /*作业批次号*/ | ||||||
|  |         ,P1.Etl_First_Dt                                              /*最初入库时间*/ | ||||||
|  |         ,P1.Etl_Job                                                   /*作业名称*/ | ||||||
|  |         ,P1.Etl_Proc_Dt                                               /*本次入库时间*/ | ||||||
|  |         ,P1.Etl_Tx_Dt                                                 /*作业运行时间*/ | ||||||
|  |         ,P1.Src_Sysname                                               /*来源系统*/ | ||||||
|  |         ,P1.Src_Table                                                 /*来源表*/ | ||||||
|  |          | ||||||
|  | FROM t01_chatrecord_agi_INS P1 | ||||||
|  | ON CONFLICT ( conference_id) | ||||||
|  | DO UPDATE SET | ||||||
|  |      conference_id=excluded.conference_id | ||||||
|  |     ,create_date=excluded.create_date | ||||||
|  |     ,start_date=excluded.start_date | ||||||
|  |     ,start_url=excluded.start_url | ||||||
|  |     ,referrer=excluded.referrer | ||||||
|  |     ,chat_dura=excluded.chat_dura | ||||||
|  |     ,queue_dura=excluded.queue_dura | ||||||
|  |     ,visitor_id=excluded.visitor_id | ||||||
|  |     ,visit_nick=excluded.visit_nick | ||||||
|  |     ,visitor_ip=excluded.visitor_ip | ||||||
|  |     ,visitor_email=excluded.visitor_email | ||||||
|  |     ,operator_id=excluded.operator_id | ||||||
|  |     ,group_id=excluded.group_id | ||||||
|  |     ,group_name=excluded.group_name | ||||||
|  |     ,rate=excluded.rate | ||||||
|  |     ,last_rate_comment=excluded.last_rate_comment | ||||||
|  |     ,operator_1_nick=excluded.operator_1_nick | ||||||
|  |     ,operator_2_nick=excluded.operator_2_nick | ||||||
|  |     ,operator_3_nick=excluded.operator_3_nick | ||||||
|  |     ,operator_4_nick=excluded.operator_4_nick | ||||||
|  |     ,Etl_Batch_No=excluded.Etl_Batch_No | ||||||
|  |     ,Etl_First_Dt=excluded.Etl_First_Dt | ||||||
|  |     ,Etl_Job=excluded.Etl_Job | ||||||
|  |     ,Etl_Proc_Dt=excluded.Etl_Proc_Dt | ||||||
|  |     ,Etl_Tx_Dt=excluded.Etl_Tx_Dt | ||||||
|  |     ,Src_Sysname=excluded.Src_Sysname | ||||||
|  |     ,Src_Table=excluded.Src_Table | ||||||
|  |      | ||||||
|  | 
 | ||||||
|  | ; | ||||||
|  | /*****程序结束退出                                               */ | ||||||
|  | \q | ||||||
|  | 
 | ||||||
		Loading…
	
		Reference in New Issue