Explorar el Código

main函数运行

huangyifan hace 1 año
padre
commit
805969d7c8
Se han modificado 1 ficheros con 129 adiciones y 79 borrados
  1. 129 79
      sync_amz_data/DataTransform/Data_ETL.py

+ 129 - 79
sync_amz_data/DataTransform/Data_ETL.py

@@ -145,7 +145,7 @@ class SP_ETL(SPClient,Common_ETLMethod):
         df_budget = self.TZ_Deal(df_budget,["usageUpdatedTimestamp"])
         return self.columnsName_modify(df_budget)
 
-    def reportV3_campaign_spCampaignsETL(self,params={}):
+    def reportV3_campaign_spCampaignsETL(self, conn, params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("endDate")==None:
@@ -171,12 +171,12 @@ class SP_ETL(SPClient,Common_ETLMethod):
         # print(list_report)
         df_report = pd.json_normalize(list_report)
         df_report = self.type_trans(df_report,params['columns'],timeZone_,extra_columns=[])
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SP_spCampaigns_campaignV3",df_report[params['columns']])
         print("插入完成")
         return df_report[params['columns']]
 
-    def reportV3_adGroup_spCampaignsETL(self,params={}):
+    def reportV3_adGroup_spCampaignsETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("endDate")==None:
@@ -200,12 +200,12 @@ class SP_ETL(SPClient,Common_ETLMethod):
         # print(list_report)
         df_report = pd.json_normalize(list_report)
         df_report = self.type_trans(df_report, params['columns'], timeZone_, extra_columns=[])
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SP_spCampaigns_adGroupV3",df_report[params['columns']])
         print("插入完成")
         return df_report[params['columns']]
 #
-    def reportV3_campaignPlacement_spCampaignsETL(self,params={}):
+    def reportV3_campaignPlacement_spCampaignsETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("endDate")==None:
@@ -229,14 +229,14 @@ class SP_ETL(SPClient,Common_ETLMethod):
         # print(list_report)
         df_report = pd.json_normalize(list_report)
         df_report = self.type_trans(df_report, params['columns'], timeZone_, extra_columns=[])
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SP_spCampaigns_placementV3",df_report[params['columns']])
         print("插入完成")
 
         return df_report[params['columns']]
 
 
-    def reportV3_targeting_spTargetingETL(self,params={}):
+    def reportV3_targeting_spTargetingETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("endDate")==None:
@@ -263,13 +263,13 @@ class SP_ETL(SPClient,Common_ETLMethod):
         # print(list_report)
         df_report = pd.json_normalize(list_report)
         df_report = self.type_trans(df_report, params['columns'], timeZone_, extra_columns=[])
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SP_spTargeting_targetingV3",df_report[params['columns']])
         print("插入完成")
 
         return df_report[params['columns']]
 
-    def reportV3_searchTerm_spSearchTermETL(self,params={}):
+    def reportV3_searchTerm_spSearchTermETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("endDate")==None:
@@ -296,13 +296,13 @@ class SP_ETL(SPClient,Common_ETLMethod):
         # print(list_report)
         df_report = pd.json_normalize(list_report)
         df_report = self.type_trans(df_report, params['columns'], timeZone_, extra_columns=[])
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SP_spSearchTerm_searchTermV3",df_report[params['columns']])
         print("插入完成")
 
         return df_report[params['columns']]
 
-    def reportV3_advertiser_spAdvertisedProductETL(self,params={}):
+    def reportV3_advertiser_spAdvertisedProductETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("endDate")==None:
@@ -327,13 +327,13 @@ class SP_ETL(SPClient,Common_ETLMethod):
         # print(list_report)
         df_report = pd.json_normalize(list_report)
         df_report = self.type_trans(df_report, params['columns'], timeZone_, extra_columns=[])
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SP_spAdvertisedProduct_advertiserV3",df_report[params['columns']])
         print("插入完成")
 
         return df_report[params['columns']]
 
-    def reportV3_asin_spPurchasedProductETL(self,params={}):
+    def reportV3_asin_spPurchasedProductETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("endDate")==None:
@@ -356,7 +356,7 @@ class SP_ETL(SPClient,Common_ETLMethod):
         # print(list_report)
         df_report = pd.json_normalize(list_report)
         df_report = self.type_trans(df_report, params['columns'], timeZone_, extra_columns=[])
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SP_spPurchasedProduct_asinV3",df_report[params['columns']])
         print("插入完成")
 
@@ -403,7 +403,7 @@ class SB_ETL(SBClient,Common_ETLMethod):
         df_budget = self.TZ_Deal(df_budget,["usageUpdatedTimestamp"])
         return self.columnsName_modify(df_budget)
 
-    def reportV3_purchasedAsinRecord_ETL(self,params={}):
+    def reportV3_purchasedAsinRecord_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("endDate")==None:
@@ -423,13 +423,13 @@ class SB_ETL(SBClient,Common_ETLMethod):
         # print(list_report)
         df_report = pd.json_normalize(list_report)
         df_report = self.type_trans(df_report, params['columns'], timeZone_, extra_columns=[])
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SB_sbPurchasedProduct_asinV3",df_report[params['columns']])
         print("插入完成")
 
         return df_report[params['columns']]
 
-    def reportV2_campaignsRecord_ETL(self,params={}):
+    def reportV2_campaignsRecord_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date")==None:
@@ -471,13 +471,13 @@ class SB_ETL(SBClient,Common_ETLMethod):
         df_report['date'] = date
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=[])
 
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SB_campaignsV2",df_report[params['metrics']])
         print("插入完成")
 
         return df_report[params['metrics']]
 
-    def reportV2_campaignsVideo_ETL(self,params={}):
+    def reportV2_campaignsVideo_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date")==None:
@@ -527,13 +527,13 @@ class SB_ETL(SBClient,Common_ETLMethod):
         df_report['date'] = date
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=[])
 
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SB_campaignsVideoV2",df_report[params['metrics']])
         print("插入完成")
         # print(df_report[params['metrics']].info())
         return df_report[params['metrics']]
 
-    def reportV2_placementRecord_ETL(self,params={}):
+    def reportV2_placementRecord_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date")==None:
@@ -573,13 +573,13 @@ class SB_ETL(SBClient,Common_ETLMethod):
         date = datetime.strptime(params['date'], '%Y%m%d')
         df_report['date'] = date
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['placement'])
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SB_campaignsPlacementV2",df_report[params['metrics']])
         print("插入完成")
         # print(df_report[params['metrics']].info())
         return df_report[params['metrics']]
 
-    def reportV2_placementVideo_ETL(self,params={}):
+    def reportV2_placementVideo_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date")==None:
@@ -629,13 +629,13 @@ class SB_ETL(SBClient,Common_ETLMethod):
         df_report['date'] = date
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['placement'])
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SB_campaignsPlacementVideoV2",df_report[params['metrics']])
         print("插入完成")
 
         return df_report[params['metrics']]
 
-    def reportV2_adGroupsRecord_ETL(self,params={}):
+    def reportV2_adGroupsRecord_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date")==None:
@@ -676,13 +676,13 @@ class SB_ETL(SBClient,Common_ETLMethod):
         df_report['date'] = date
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=[])
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SB_adGroupsV2",df_report[params['metrics']])
         print("插入完成")
 
         return df_report[params['metrics']]
 
-    def reportV2_adGroupsVideo_ETL(self,params={}):
+    def reportV2_adGroupsVideo_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date")==None:
@@ -734,13 +734,13 @@ class SB_ETL(SBClient,Common_ETLMethod):
         df_report['date'] = date
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=[])
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SB_adGroupsVideoV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
 
 
-    def reportV2_targetsRecord_ETL(self,params={}):
+    def reportV2_targetsRecord_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date")==None:
@@ -785,13 +785,13 @@ class SB_ETL(SBClient,Common_ETLMethod):
         df_report['date'] = date
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=[])
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SB_targetsV2",df_report[params['metrics']])
         print("插入完成")
 
         return df_report[params['metrics']]
 
-    def reportV2_targetsVideo_ETL(self,params={}):
+    def reportV2_targetsVideo_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date")==None:
@@ -848,12 +848,12 @@ class SB_ETL(SBClient,Common_ETLMethod):
         df_report['date'] = date
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=[])
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SB_targetsVideoV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
 
-    def reportV2_keywordsRecord_ETL(self,params={}):
+    def reportV2_keywordsRecord_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date")==None:
@@ -904,12 +904,12 @@ class SB_ETL(SBClient,Common_ETLMethod):
         df_report['date'] = date
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=[])
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SB_keywordsV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
 
-    def reportV2_keywordsVideo_ETL(self,params={}):
+    def reportV2_keywordsVideo_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date")==None:
@@ -964,12 +964,12 @@ class SB_ETL(SBClient,Common_ETLMethod):
         df_report['date'] = date
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=[])
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SB_keywordsVideoV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
 
-    def reportV2_searchtermsRecord_ETL(self,params={}):
+    def reportV2_searchtermsRecord_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date")==None:
@@ -1003,12 +1003,12 @@ class SB_ETL(SBClient,Common_ETLMethod):
         df_report['date'] = date
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['query'])
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SB_keywordsQueryV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
 
-    def reportV2_searchtermsVideo_ETL(self,params={}):
+    def reportV2_searchtermsVideo_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date")==None:
@@ -1053,12 +1053,12 @@ class SB_ETL(SBClient,Common_ETLMethod):
         df_report['date'] = date
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['query'])
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SB_keywordsQueryVideoV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
 
-    def reportV2_adsRecord_ETL(self,params={}):
+    def reportV2_adsRecord_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date")==None:
@@ -1105,12 +1105,12 @@ class SB_ETL(SBClient,Common_ETLMethod):
         date = datetime.strptime(params['date'], '%Y%m%d')
         df_report['date'] = date
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=[])
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SB_adsV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
 
-    def reportV2_adsVideo_ETL(self,params={}):
+    def reportV2_adsVideo_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date")==None:
@@ -1163,7 +1163,7 @@ class SB_ETL(SBClient,Common_ETLMethod):
         df_report['date'] = date
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=[])
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SB_adsVideoV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
@@ -1254,7 +1254,7 @@ class SD_ETL(SDClient,Common_ETLMethod):
         'videoUnmutes',
             ]
 
-    def reportV2_campaignsRecord_t2_ETL(self,params={}):
+    def reportV2_campaignsRecord_t2_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date")==None:
@@ -1270,12 +1270,12 @@ class SD_ETL(SDClient,Common_ETLMethod):
         df_report['date'] = date
         df_report['tactic'] = 'Contextual targeting'
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['tactic'])
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SD_campaignsV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
 
-    def reportV2_campaignsRecord_t3_ETL(self,params={}):
+    def reportV2_campaignsRecord_t3_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date")==None:
@@ -1291,7 +1291,7 @@ class SD_ETL(SDClient,Common_ETLMethod):
         df_report['tactic'] = 'Audiences targeting' #{"T00020":"Contextual targeting","T00030":"Audiences targeting"}
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['tactic'])
 
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SD_campaignsV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
@@ -1349,7 +1349,7 @@ class SD_ETL(SDClient,Common_ETLMethod):
         'videoUnmutes',
         ]
 
-    def reportV2_adGroupsRecord_t2_ETL(self,params={}):
+    def reportV2_adGroupsRecord_t2_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date")==None:
@@ -1363,12 +1363,12 @@ class SD_ETL(SDClient,Common_ETLMethod):
         df_report['date'] = date
         df_report['tactic'] = 'Contextual targeting'  # {"T00020":"Contextual targeting","T00030":"Audiences targeting"}
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['tactic'])
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SD_adGroupsV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
 
-    def reportV2_adGroupsRecord_t3_ETL(self,params={}):
+    def reportV2_adGroupsRecord_t3_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date")==None:
@@ -1383,7 +1383,7 @@ class SD_ETL(SDClient,Common_ETLMethod):
         df_report['tactic'] = 'Audiences targeting'  # {"T00020":"Contextual targeting","T00030":"Audiences targeting"}
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['tactic'])
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SD_adGroupsV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
@@ -1443,7 +1443,7 @@ class SD_ETL(SDClient,Common_ETLMethod):
         'videoUnmutes',
     ]
 
-    def reportV2_productAds_t2_ETL(self,params={}):
+    def reportV2_productAds_t2_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date")==None:
@@ -1458,12 +1458,12 @@ class SD_ETL(SDClient,Common_ETLMethod):
         df_report['date'] = date
         df_report['tactic'] = 'Contextual targeting'  # {"T00020":"Contextual targeting","T00030":"Audiences targeting"}
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['tactic'])
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SD_adsV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
 
-    def reportV2_productAds_t3_ETL(self,params={}):
+    def reportV2_productAds_t3_ETL(self,conn,params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date")==None:
@@ -1479,7 +1479,7 @@ class SD_ETL(SDClient,Common_ETLMethod):
         df_report['tactic'] = 'Audiences targeting'  # {"T00020":"Contextual targeting","T00030":"Audiences targeting"}
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['tactic'])
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SD_adsV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
@@ -1540,7 +1540,7 @@ class SD_ETL(SDClient,Common_ETLMethod):
         'videoUnmutes',
     ]
 
-    def reportV2_targets_t2_ETL(self, params={}):
+    def reportV2_targets_t2_ETL(self,conn, params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date") == None:
@@ -1559,12 +1559,12 @@ class SD_ETL(SDClient,Common_ETLMethod):
         df_report['tactic'] = 'Contextual targeting'  # {"T00020":"","T00030":"Audiences targeting"}
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['tactic'])
         # print(df_report[params['metrics']].info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SD_targetsV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
 
-    def reportV2_targets_t3_ETL(self, params={}):
+    def reportV2_targets_t3_ETL(self,conn, params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date") == None:
@@ -1583,7 +1583,7 @@ class SD_ETL(SDClient,Common_ETLMethod):
         df_report['tactic'] = 'Audiences targeting'  # {"T00020":"Contextual targeting","T00030":"Audiences targeting"}
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['tactic'])
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SD_targetsV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
@@ -1628,7 +1628,7 @@ class SD_ETL(SDClient,Common_ETLMethod):
         'viewAttributedConversions14dOtherSKU',
         'viewAttributedConversions30dOtherSKU',
     ]
-    def reportV2_asins_t2_ETL(self, params={}):
+    def reportV2_asins_t2_ETL(self,conn, params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date") == None:
@@ -1647,12 +1647,12 @@ class SD_ETL(SDClient,Common_ETLMethod):
         df_report['tactic'] = 'Contextual targeting'  # {"T00020":"Contextual targeting","T00030":"Audiences targeting"}
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['tactic'])
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SD_asinsV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
 
-    def reportV2_asins_t3_ETL(self, params={}):
+    def reportV2_asins_t3_ETL(self,conn, params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date") == None:
@@ -1671,7 +1671,7 @@ class SD_ETL(SDClient,Common_ETLMethod):
         df_report['tactic'] = 'Audiences targeting'  # {"T00020":"Contextual targeting","T00030":"Audiences targeting"}
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['tactic'])
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SD_asinsV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
@@ -1723,7 +1723,7 @@ class SD_ETL(SDClient,Common_ETLMethod):
 
     ] #'matchedTarget'
 
-    def reportV2_campaign_matchedTarget_t2_ETL(self, params={}):
+    def reportV2_campaign_matchedTarget_t2_ETL(self,conn, params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date") == None:
@@ -1743,12 +1743,12 @@ class SD_ETL(SDClient,Common_ETLMethod):
         df_report['tactic'] = 'Contextual targeting'  # {"T00020":"Contextual targeting","T00030":"Audiences targeting"}
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['matchedTarget','tactic'])
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SD_campaignsMatchedTargetV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
 
-    def reportV2_campaign_matchedTarget_t3_ETL(self, params={}):
+    def reportV2_campaign_matchedTarget_t3_ETL(self,conn, params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date") == None:
@@ -1768,7 +1768,7 @@ class SD_ETL(SDClient,Common_ETLMethod):
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['matchedTarget', 'tactic'])
 
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SD_campaignsMatchedTargetV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
@@ -1827,7 +1827,7 @@ class SD_ETL(SDClient,Common_ETLMethod):
 
 
     ]#, 'matchedTarget'
-    def reportV2_adGroups_matchedTarget_t2_ETL(self, params={}):
+    def reportV2_adGroups_matchedTarget_t2_ETL(self,conn, params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date") == None:
@@ -1846,12 +1846,12 @@ class SD_ETL(SDClient,Common_ETLMethod):
         df_report['tactic'] = 'Contextual targeting'  # {"T00020":"Contextual targeting","T00030":"Audiences targeting"}
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['matchedTarget', 'tactic'])
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SD_adGroupsMatchedTargetV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
 
-    def reportV2_adGroups_matchedTarget_t3_ETL(self, params={}):
+    def reportV2_adGroups_matchedTarget_t3_ETL(self,conn, params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date") == None:
@@ -1870,7 +1870,7 @@ class SD_ETL(SDClient,Common_ETLMethod):
         df_report['tactic'] = 'Audiences targeting'  # {"T00020":"Contextual targeting","T00030":"Audiences targeting"}
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['matchedTarget', 'tactic'])
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SD_adGroupsMatchedTargetV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
@@ -1929,7 +1929,7 @@ class SD_ETL(SDClient,Common_ETLMethod):
         'viewAttributedUnitsOrderedNewToBrand14d',
     ]
 
-    def reportV2_targets_matchedTarget_t2_ETL(self, params={}):
+    def reportV2_targets_matchedTarget_t2_ETL(self,conn, params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date") == None:
@@ -1948,12 +1948,12 @@ class SD_ETL(SDClient,Common_ETLMethod):
         df_report['tactic'] = 'Contextual targeting'  # {"T00020":"Contextual targeting","T00030":"Audiences targeting"}
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['matchedTarget', 'tactic'])
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SD_targetsMatchedTargetV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
 
-    def reportV2_targets_matchedTarget_t3_ETL(self, params={}):
+    def reportV2_targets_matchedTarget_t3_ETL(self,conn, params={}):
         timeZone_ = self.timeZone()
         today = datetime.now(tz=pytz.timezone(timeZone_))
         if params.get("date") == None:
@@ -1971,7 +1971,7 @@ class SD_ETL(SDClient,Common_ETLMethod):
         df_report['tactic'] = 'Audiences targeting'  # {"T00020":"Contextual targeting","T00030":"Audiences targeting"}
         df_report = self.type_trans(df_report, params['metrics'], timeZone_, extra_columns=['matchedTarget', 'tactic'])
         # print(df_report.info())
-        conn = self.clickhouse_connect()
+
         conn.insert_df("AmazonReport.SD_targetsMatchedTargetV2",df_report[params['metrics']])
         print("插入完成")
         return df_report[params['metrics']]
@@ -1984,8 +1984,58 @@ if __name__ == '__main__':
         'lwa_client_secret': 'cbf0514186db4df91e04a8905f0a91b605eae4201254ced879d8bb90df4b474d',
         'profile_id': "3006125408623189"
     }
-    ac_etl = SB_ETL(**AWS_CREDENTIALS)
-    # print(ac_etl.reportV3_purchasedAsinRecord_ETL())
-
+    conn = Common_ETLMethod.clickhouse_connect()
+
+    # SD
+    # ac_etl = SD_ETL(**AWS_CREDENTIALS)
+    # ac_etl.reportV2_campaignsRecord_t2_ETL(conn)
+    # ac_etl.reportV2_campaignsRecord_t3_ETL(conn)
+    # ac_etl.reportV2_adGroupsRecord_t2_ETL(conn)
+    # ac_etl.reportV2_adGroupsRecord_t3_ETL(conn)
+    # ac_etl.reportV2_asins_t2_ETL(conn)
+    # ac_etl.reportV2_asins_t3_ETL(conn)
+    # ac_etl.reportV2_productAds_t2_ETL(conn)
+    # ac_etl.reportV2_productAds_t3_ETL(conn)
+    # ac_etl.reportV2_targets_t2_ETL(conn)
+    # ac_etl.reportV2_productAds_t3_ETL(conn)
+    # ac_etl.reportV2_campaign_matchedTarget_t2_ETL(conn)
+    # ac_etl.reportV2_campaign_matchedTarget_t3_ETL(conn)
+    # ac_etl.reportV2_adGroups_matchedTarget_t2_ETL(conn)
+    # ac_etl.reportV2_adGroups_matchedTarget_t3_ETL(conn)
+    # ac_etl.reportV2_targets_matchedTarget_t2_ETL(conn)
+    # ac_etl.reportV2_targets_matchedTarget_t3_ETL(conn)
+
+
+
+    # SB
+    # ac_etl = SB_ETL(**AWS_CREDENTIALS)
+    # ac_etl.reportV3_purchasedAsinRecord_ETL(conn)
+    # ac_etl.reportV2_campaignsRecord_ETL(conn)
+    # ac_etl.reportV2_campaignsVideo_ETL(conn)
+    # ac_etl.reportV2_adGroupsRecord_ETL(conn)
+    # ac_etl.reportV2_adGroupsVideo_ETL(conn)
+    # ac_etl.reportV2_adsRecord_ETL(conn)
+    # ac_etl.reportV2_adsVideo_ETL(conn)
+    # ac_etl.reportV2_keywordsRecord_ETL(conn)
+    # ac_etl.reportV2_keywordsVideo_ETL(conn)
+    # ac_etl.reportV2_placementRecord_ETL(conn)
+    # ac_etl.reportV2_placementVideo_ETL(conn)
+    # ac_etl.reportV2_searchtermsRecord_ETL(conn)
+    # ac_etl.reportV2_searchtermsVideo_ETL(conn)
+    # ac_etl.reportV2_targetsRecord_ETL(conn)
+    # ac_etl.reportV2_targetsVideo_ETL(conn)
+
+
+    # SP
+    # ac_etl = SP_ETL(**AWS_CREDENTIALS)
+    # ac_etl.reportV3_campaign_spCampaignsETL(conn)
+    # ac_etl.reportV3_adGroup_spCampaignsETL(conn)
+    # ac_etl.reportV3_campaignPlacement_spCampaignsETL(conn)
+    # ac_etl.reportV3_targeting_spTargetingETL(conn)
+    # ac_etl.reportV3_searchTerm_spSearchTermETL(conn)
+    # ac_etl.reportV3_advertiser_spAdvertisedProductETL(conn)
+    # ac_etl.reportV3_asin_spPurchasedProductETL(conn)
+
+    conn.close()
     ###