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.
- mdbq/aggregation/optimize_data.py +6 -17
- mdbq/aggregation/query_data.py +99 -61
- mdbq/aggregation/query_data_bak20241124.py +3229 -0
- mdbq/config/products.py +3 -3
- {mdbq-3.2.3.dist-info → mdbq-3.2.5.dist-info}/METADATA +1 -1
- {mdbq-3.2.3.dist-info → mdbq-3.2.5.dist-info}/RECORD +8 -7
- {mdbq-3.2.3.dist-info → mdbq-3.2.5.dist-info}/WHEEL +0 -0
- {mdbq-3.2.3.dist-info → mdbq-3.2.5.dist-info}/top_level.txt +0 -0
@@ -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
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
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__':
|
mdbq/aggregation/query_data.py
CHANGED
@@ -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
|
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
|
-
|
3196
|
-
|
3197
|
-
|
3198
|
-
|
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
|
-
|
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
|
-
|
3204
|
-
|
3205
|
-
|
3206
|
-
|
3207
|
-
|
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
|
-
#
|
3210
|
-
#
|
3211
|
-
# days=3650,
|
3249
|
+
# db_name_lists=['聚合数据'],
|
3250
|
+
# days=180, # 清理聚合数据的日期长度
|
3212
3251
|
# is_mongo=False,
|
3213
3252
|
# is_mysql=True,
|
3214
3253
|
# )
|
3215
|
-
|