mdbq 3.2.3__py3-none-any.whl → 3.2.5__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -72,23 +72,12 @@ def restart_mongodb():
72
72
 
73
73
 
74
74
  def op_data(db_name_lists, days: int = 63, is_mongo=True, is_mysql=True):
75
- """ """
76
-
77
- if socket.gethostname() == 'xigua_lx' or socket.gethostname() == 'xigua1' or socket.gethostname() == 'Mac2.local':
78
- # Mysql
79
- if is_mysql:
80
- s = mysql.OptimizeDatas(username=username, password=password, host=host, port=port)
81
- s.db_name_lists = db_name_lists
82
- s.days = days
83
- s.optimize_list()
84
-
85
- elif socket.gethostname() == 'company':
86
- # Mysql
87
- if is_mysql:
88
- s = mysql.OptimizeDatas(username=username, password=password, host=host, port=port)
89
- s.db_name_lists = db_name_lists
90
- s.days = days
91
- s.optimize_list()
75
+ # Mysql
76
+ if is_mysql:
77
+ s = mysql.OptimizeDatas(username=username, password=password, host=host, port=port)
78
+ s.db_name_lists = db_name_lists
79
+ s.days = days
80
+ s.optimize_list()
92
81
 
93
82
 
94
83
  if __name__ == '__main__':
@@ -17,6 +17,7 @@ import json
17
17
  import os
18
18
  import time
19
19
  import calendar
20
+ import concurrent.futures
20
21
 
21
22
  """
22
23
 
@@ -3120,44 +3121,7 @@ def date_table():
3120
3121
  )
3121
3122
 
3122
3123
 
3123
- def main(days=150, months=3):
3124
- """
3125
- days: 清理聚合数据的日期长度
3126
- months: 生成聚合数据的长度
3127
- """
3128
- # 1. 更新日期表 更新货品年份基准表, 属性设置 3 - 货品年份基准
3129
- date_table()
3130
- p = products.Products()
3131
- p.to_mysql()
3132
-
3133
- # 清理非聚合数据库
3134
- system = platform.system() # 本机系统
3135
- host_name = socket.gethostname() # 本机名
3136
- conf = myconfig.main()
3137
- db_list = conf[system][host_name]['mysql']['数据库集']
3138
- not_juhe_db_list = [item for item in db_list if item != '聚合数据']
3139
- optimize_data.op_data(
3140
- db_name_lists=not_juhe_db_list,
3141
- days= 31, # 清理聚合数据的日期长度
3142
- is_mongo=False,
3143
- is_mysql=True,
3144
- )
3145
-
3146
- # 2. 数据聚合
3147
- query_(months=months)
3148
- time.sleep(60)
3149
-
3150
- # 3. 清理聚合数据
3151
-
3152
- optimize_data.op_data(
3153
- db_name_lists=['聚合数据'],
3154
- days=days, # 清理聚合数据的日期长度
3155
- is_mongo=False,
3156
- is_mysql=True,
3157
- )
3158
-
3159
-
3160
- def query_(months=1, less_dict=[]):
3124
+ def query1(months=1, less_dict=[]):
3161
3125
  if months == 0:
3162
3126
  print(f'months 不建议为 0 ')
3163
3127
  return
@@ -3170,46 +3134,120 @@ def query_(months=1, less_dict=[]):
3170
3134
  sdq.idbm(db_name='聚合数据', table_name='商品id编码表')
3171
3135
  sdq.sp_picture(db_name='聚合数据', table_name='商品id图片对照表')
3172
3136
  sdq.sp_cost(db_name='聚合数据', table_name='商品成本')
3173
- sdq.dplyd(db_name='聚合数据', table_name='店铺流量来源构成')
3174
3137
  sdq.jdjzt(db_name='聚合数据', table_name='京东_京准通')
3175
3138
  sdq.jdqzyx(db_name='聚合数据', table_name='京东_京准通_全站营销')
3176
3139
  sdq.sku_sales(db_name='聚合数据', table_name='京东_sku_商品明细')
3177
3140
  sdq.spu_sales(db_name='聚合数据', table_name='京东_spu_商品明细')
3178
- sdq.tg_rqbb(db_name='聚合数据', table_name='天猫_人群报表')
3179
- sdq.tg_gjc(db_name='聚合数据', table_name='天猫_关键词报表')
3180
3141
  sdq.tg_cjzb(db_name='聚合数据', table_name='天猫_超级直播')
3181
- sdq.jd_gjc(db_name='聚合数据', table_name='京东_关键词报表')
3182
3142
  sdq.pxb_zh(db_name='聚合数据', table_name='天猫_品销宝账户报表')
3183
- sdq.se_search(db_name='聚合数据', table_name='天猫店铺来源_手淘搜索')
3184
3143
  sdq.zb_ccfx(db_name='聚合数据', table_name='生意参谋_直播场次分析')
3185
3144
  sdq.tg_by_day(db_name='聚合数据', table_name='多店推广场景_按日聚合')
3186
- sdq.aikucun_bd_spu(db_name='聚合数据', table_name='爱库存_商品spu榜单')
3187
- sdq.dmp_crowd(db_name='聚合数据', table_name='达摩盘_人群报表')
3188
- sdq.deeplink(db_name='聚合数据', table_name='达摩盘_deeplink人群洞察')
3189
3145
  sdq.performance(bb_tg=True, db_name='聚合数据', table_name='_全店商品销售') # _全店商品销售
3190
3146
  sdq.performance(bb_tg=False, db_name='聚合数据', table_name='_推广商品销售') # _推广商品销售
3191
3147
  sdq.performance_jd(jd_tg=False, db_name='聚合数据', table_name='_京东_推广商品销售') # _推广商品销售
3192
3148
  sdq.performance_concat(bb_tg=False, db_name='聚合数据', table_name='天猫_推广汇总') # _推广商品销售
3193
3149
 
3194
3150
 
3195
- if __name__ == '__main__':
3196
- # main(
3197
- # days=150, # 清理聚合数据的日期长度
3198
- # months=3 # 生成聚合数据的长度
3199
- # )
3151
+ def query2(months=1, less_dict=[]):
3152
+ if months == 0:
3153
+ print(f'months 不建议为 0 ')
3154
+ return
3155
+ sdq = MysqlDatasQuery() # 实例化数据处理类
3156
+ sdq.months = months # 设置数据周期, 1 表示近 2 个月
3157
+ sdq.update_service = True # 调试时加,true: 将数据写入 mysql 服务器
3158
+ sdq.dplyd(db_name='聚合数据', table_name='店铺流量来源构成')
3159
+ sdq.tg_rqbb(db_name='聚合数据', table_name='天猫_人群报表')
3160
+ sdq.tg_gjc(db_name='聚合数据', table_name='天猫_关键词报表')
3161
+ sdq.jd_gjc(db_name='聚合数据', table_name='京东_关键词报表')
3162
+ sdq.se_search(db_name='聚合数据', table_name='天猫店铺来源_手淘搜索')
3163
+ sdq.aikucun_bd_spu(db_name='聚合数据', table_name='爱库存_商品spu榜单')
3164
+ sdq.dmp_crowd(db_name='聚合数据', table_name='达摩盘_人群报表')
3165
+ sdq.deeplink(db_name='聚合数据', table_name='达摩盘_deeplink人群洞察')
3166
+
3167
+
3168
+ def main(days=150, months=3):
3169
+ """
3170
+ days: 清理聚合数据的日期长度
3171
+ months: 生成聚合数据的长度
3172
+ """
3173
+ # 1. 更新日期表 更新货品年份基准表, 属性设置 3 - 货品年份基准
3200
3174
  date_table()
3201
- # query_(months=3)
3175
+ p = products.Products()
3176
+ p.to_mysql()
3177
+
3178
+ # 清理非聚合数据库
3179
+ db_list = [
3180
+ "京东数据3",
3181
+ "属性设置3",
3182
+ "推广数据2",
3183
+ "推广数据_淘宝店",
3184
+ "爱库存2",
3185
+ "生意参谋3",
3186
+ "生意经3",
3187
+ "达摩盘3",
3188
+ ]
3189
+ # 使用 ThreadPoolExecutor 来并行运行
3190
+ with concurrent.futures.ThreadPoolExecutor() as executor:
3191
+ for step in range(len(db_list)):
3192
+ future_to_function = {
3193
+ executor.submit(
3194
+ optimize_data.op_data,
3195
+ days=31,
3196
+ is_mongo=False,
3197
+ is_mysql=True,
3198
+ db_name_lists=[db_list[step]],
3199
+ ),
3200
+ }
3201
+ # # 等待所有任务完成并获取执行结果
3202
+ # for future in concurrent.futures.as_completed(future_to_function):
3203
+ # future.result()
3204
+
3205
+ # 2. 数据聚合
3206
+ query_list = [query1, query2]
3207
+ # 使用 ThreadPoolExecutor 来并行运行
3208
+ with concurrent.futures.ThreadPoolExecutor() as executor:
3209
+ for func_query in query_list:
3210
+ future_to_function = {
3211
+ executor.submit(
3212
+ func_query,
3213
+ months=months,
3214
+ less_dict=[],
3215
+ ),
3216
+ }
3217
+ # query_(months=months)
3218
+ time.sleep(10)
3219
+
3220
+ # 3. 清理聚合数据
3221
+ optimize_data.op_data(
3222
+ db_name_lists=['聚合数据'],
3223
+ days=days, # 清理聚合数据的日期长度
3224
+ is_mongo=False,
3225
+ is_mysql=True,
3226
+ )
3202
3227
 
3203
- # system = platform.system() # 本机系统
3204
- # host_name = socket.gethostname() # 本机名
3205
- # conf = myconfig.main()
3206
- # db_list = conf[system][host_name]['mysql']['数据库集']
3207
- # # 4. 清理聚合数据
3228
+
3229
+ if __name__ == '__main__':
3230
+ main(
3231
+ days=150, # 清理聚合数据的日期长度
3232
+ months=3 # 生成聚合数据的长度
3233
+ )
3234
+
3235
+ # query_list = [query1, query2]
3236
+ # # 使用 ThreadPoolExecutor 来并行运行
3237
+ # with concurrent.futures.ThreadPoolExecutor() as executor:
3238
+ # for func_query in query_list:
3239
+ # future_to_function = {
3240
+ # executor.submit(
3241
+ # func_query,
3242
+ # months=3,
3243
+ # less_dict=[],
3244
+ # ),
3245
+ # }
3246
+
3247
+ # # 3. 清理聚合数据
3208
3248
  # optimize_data.op_data(
3209
- # # db_name_lists=['聚合数据'],
3210
- # db_name_lists=db_list,
3211
- # days=3650,
3249
+ # db_name_lists=['聚合数据'],
3250
+ # days=180, # 清理聚合数据的日期长度
3212
3251
  # is_mongo=False,
3213
3252
  # is_mysql=True,
3214
3253
  # )
3215
-