mdbq 4.0.0__tar.gz → 4.0.1__tar.gz
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-4.0.0 → mdbq-4.0.1}/PKG-INFO +1 -1
- mdbq-4.0.1/mdbq/__version__.py +1 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/aggregation/query_data.py +44 -72
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/mysql/deduplicator.py +3 -4
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/mysql/mysql.py +4 -5
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/mysql/s_query.py +12 -2
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/mysql/uploader.py +3 -4
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/redis/getredis.py +12 -20
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/spider/aikucun.py +2 -4
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq.egg-info/PKG-INFO +1 -1
- mdbq-4.0.0/mdbq/__version__.py +0 -1
- {mdbq-4.0.0 → mdbq-4.0.1}/README.txt +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/__init__.py +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/aggregation/__init__.py +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/config/__init__.py +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/config/config.py +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/log/__init__.py +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/log/mylogger.py +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/log/spider_logging.py +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/mysql/__init__.py +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/mysql/unique_.py +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/other/__init__.py +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/other/download_sku_picture.py +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/other/otk.py +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/other/pov_city.py +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/other/ua_sj.py +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/pbix/__init__.py +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/pbix/pbix_refresh.py +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/pbix/refresh_all.py +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/redis/__init__.py +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq/spider/__init__.py +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq.egg-info/SOURCES.txt +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq.egg-info/dependency_links.txt +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/mdbq.egg-info/top_level.txt +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/setup.cfg +0 -0
- {mdbq-4.0.0 → mdbq-4.0.1}/setup.py +0 -0
@@ -0,0 +1 @@
|
|
1
|
+
VERSION = '4.0.1'
|
@@ -3,6 +3,7 @@ import re
|
|
3
3
|
from mdbq.mysql import mysql
|
4
4
|
from mdbq.mysql import s_query
|
5
5
|
from mdbq.config import config
|
6
|
+
from mdbq.log import mylogger
|
6
7
|
import datetime
|
7
8
|
from dateutil.relativedelta import relativedelta
|
8
9
|
import pandas as pd
|
@@ -13,7 +14,6 @@ import os
|
|
13
14
|
import time
|
14
15
|
import calendar
|
15
16
|
import concurrent.futures
|
16
|
-
import logging
|
17
17
|
|
18
18
|
"""
|
19
19
|
|
@@ -25,9 +25,17 @@ content = config.read_config(file_path=config_file)
|
|
25
25
|
username, password, host, port = content['username'], content['password'], content['host'], content['port']
|
26
26
|
m_engine = mysql.MysqlUpload(username=username, password=password, host=host, port=port, charset='utf8mb4')
|
27
27
|
|
28
|
-
logger =
|
29
|
-
|
30
|
-
|
28
|
+
logger = mylogger.MyLogger(
|
29
|
+
logging_mode='file',
|
30
|
+
log_level='info',
|
31
|
+
log_format='json',
|
32
|
+
max_log_size=50,
|
33
|
+
backup_count=5,
|
34
|
+
enable_async=False, # 是否启用异步日志
|
35
|
+
sample_rate=1, # 采样DEBUG/INFO日志
|
36
|
+
sensitive_fields=[], # 敏感字段过滤
|
37
|
+
enable_metrics=False, # 是否启用性能指标
|
38
|
+
)
|
31
39
|
|
32
40
|
|
33
41
|
class MysqlDatasQuery:
|
@@ -162,8 +170,7 @@ class MysqlDatasQuery:
|
|
162
170
|
return
|
163
171
|
min_date = df['日期'].min()
|
164
172
|
max_date = df['日期'].max()
|
165
|
-
|
166
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
173
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
167
174
|
m_engine.df_to_mysql(
|
168
175
|
df=df,
|
169
176
|
db_name=db_name,
|
@@ -208,8 +215,7 @@ class MysqlDatasQuery:
|
|
208
215
|
'花费': 'decimal(12,2)',
|
209
216
|
'更新时间': 'timestamp',
|
210
217
|
}
|
211
|
-
|
212
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) 属性设置3/商品索引表_主推排序调用')
|
218
|
+
logger.info(f'正在更新: mysql ({host}:{port}) 属性设置3/商品索引表_主推排序调用')
|
213
219
|
m_engine.df_to_mysql(
|
214
220
|
df=df_pic,
|
215
221
|
db_name='属性设置3',
|
@@ -317,8 +323,7 @@ class MysqlDatasQuery:
|
|
317
323
|
return
|
318
324
|
min_date = df['日期'].min()
|
319
325
|
max_date = df['日期'].max()
|
320
|
-
|
321
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
326
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
322
327
|
m_engine.df_to_mysql(
|
323
328
|
df=df,
|
324
329
|
db_name=db_name,
|
@@ -426,8 +431,7 @@ class MysqlDatasQuery:
|
|
426
431
|
return
|
427
432
|
min_date = df['日期'].min()
|
428
433
|
max_date = df['日期'].max()
|
429
|
-
|
430
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
434
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
431
435
|
m_engine.df_to_mysql(
|
432
436
|
df=df,
|
433
437
|
db_name=db_name,
|
@@ -535,8 +539,7 @@ class MysqlDatasQuery:
|
|
535
539
|
return
|
536
540
|
min_date = df['日期'].min()
|
537
541
|
max_date = df['日期'].max()
|
538
|
-
|
539
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
542
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
540
543
|
m_engine.df_to_mysql(
|
541
544
|
df=df,
|
542
545
|
db_name=db_name,
|
@@ -630,8 +633,7 @@ class MysqlDatasQuery:
|
|
630
633
|
return
|
631
634
|
min_date = df['日期'].min()
|
632
635
|
max_date = df['日期'].max()
|
633
|
-
|
634
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
636
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
635
637
|
m_engine.df_to_mysql(
|
636
638
|
df=df,
|
637
639
|
db_name=db_name,
|
@@ -847,8 +849,7 @@ class MysqlDatasQuery:
|
|
847
849
|
}
|
848
850
|
min_date = df['日期'].min()
|
849
851
|
max_date = df['日期'].max()
|
850
|
-
|
851
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
852
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
852
853
|
m_engine.df_to_mysql(
|
853
854
|
df=df,
|
854
855
|
db_name=db_name,
|
@@ -981,8 +982,7 @@ class MysqlDatasQuery:
|
|
981
982
|
}
|
982
983
|
min_date = df['日期'].min()
|
983
984
|
max_date = df['日期'].max()
|
984
|
-
|
985
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
985
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
986
986
|
m_engine.df_to_mysql(
|
987
987
|
df=df,
|
988
988
|
db_name=db_name,
|
@@ -1151,8 +1151,7 @@ class MysqlDatasQuery:
|
|
1151
1151
|
}
|
1152
1152
|
min_date = df['日期'].min()
|
1153
1153
|
max_date = df['日期'].max()
|
1154
|
-
|
1155
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
1154
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
1156
1155
|
|
1157
1156
|
m_engine.df_to_mysql(
|
1158
1157
|
df=df,
|
@@ -1263,8 +1262,7 @@ class MysqlDatasQuery:
|
|
1263
1262
|
}
|
1264
1263
|
min_date = df['日期'].min()
|
1265
1264
|
max_date = df['日期'].max()
|
1266
|
-
|
1267
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
1265
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
1268
1266
|
m_engine.df_to_mysql(
|
1269
1267
|
df=df,
|
1270
1268
|
db_name=db_name,
|
@@ -1318,8 +1316,7 @@ class MysqlDatasQuery:
|
|
1318
1316
|
# ) # 制作其他聚合表
|
1319
1317
|
if not self.update_service:
|
1320
1318
|
return
|
1321
|
-
|
1322
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name}')
|
1319
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name}')
|
1323
1320
|
m_engine.df_to_mysql(
|
1324
1321
|
df=df,
|
1325
1322
|
db_name=db_name,
|
@@ -1373,8 +1370,7 @@ class MysqlDatasQuery:
|
|
1373
1370
|
# ) # 制作其他聚合表
|
1374
1371
|
if not self.update_service:
|
1375
1372
|
return
|
1376
|
-
|
1377
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name}')
|
1373
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name}')
|
1378
1374
|
m_engine.df_to_mysql(
|
1379
1375
|
df=df,
|
1380
1376
|
db_name=db_name,
|
@@ -1428,8 +1424,7 @@ class MysqlDatasQuery:
|
|
1428
1424
|
# ) # 制作其他聚合表
|
1429
1425
|
if not self.update_service:
|
1430
1426
|
return
|
1431
|
-
|
1432
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name}')
|
1427
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name}')
|
1433
1428
|
m_engine.df_to_mysql(
|
1434
1429
|
df=df,
|
1435
1430
|
db_name=db_name,
|
@@ -1485,8 +1480,7 @@ class MysqlDatasQuery:
|
|
1485
1480
|
# )
|
1486
1481
|
if not self.update_service: # 调试加,是否继续执行下面的入库操作
|
1487
1482
|
return
|
1488
|
-
|
1489
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name}')
|
1483
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name}')
|
1490
1484
|
m_engine.df_to_mysql(
|
1491
1485
|
df=df,
|
1492
1486
|
db_name=db_name,
|
@@ -1532,8 +1526,7 @@ class MysqlDatasQuery:
|
|
1532
1526
|
df['上市年份'] = df['商品id'].apply(lambda x: check_year(x))
|
1533
1527
|
p = df.pop('上市年份')
|
1534
1528
|
df.insert(loc=5, column='上市年份', value=p)
|
1535
|
-
|
1536
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name}')
|
1529
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name}')
|
1537
1530
|
set_typ = {
|
1538
1531
|
'日期': 'date',
|
1539
1532
|
'店铺id': 'bigint',
|
@@ -1672,8 +1665,7 @@ class MysqlDatasQuery:
|
|
1672
1665
|
}
|
1673
1666
|
min_date = df['日期'].min().strftime("%Y-%m-%d")
|
1674
1667
|
max_date = df['日期'].max().strftime("%Y-%m-%d")
|
1675
|
-
|
1676
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
1668
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
1677
1669
|
m_engine.df_to_mysql(
|
1678
1670
|
df=df,
|
1679
1671
|
db_name=db_name,
|
@@ -1780,8 +1772,7 @@ class MysqlDatasQuery:
|
|
1780
1772
|
# df.to_csv('/Users/xigua/Downloads/ll.csv', index=False, header=True, encoding='utf-8_sig')
|
1781
1773
|
min_date = df['日期'].min().strftime("%Y-%m-%d")
|
1782
1774
|
max_date = df['日期'].max().strftime("%Y-%m-%d")
|
1783
|
-
|
1784
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
1775
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
1785
1776
|
m_engine.df_to_mysql(
|
1786
1777
|
df=df,
|
1787
1778
|
db_name=db_name,
|
@@ -1825,8 +1816,7 @@ class MysqlDatasQuery:
|
|
1825
1816
|
return
|
1826
1817
|
min_date = pd.to_datetime(df['日期'].min()).strftime('%Y-%m-%d')
|
1827
1818
|
max_date = pd.to_datetime(df['日期'].max()).strftime('%Y-%m-%d')
|
1828
|
-
|
1829
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
1819
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
1830
1820
|
m_engine.df_to_mysql(
|
1831
1821
|
df=df,
|
1832
1822
|
db_name=db_name,
|
@@ -1939,8 +1929,7 @@ class MysqlDatasQuery:
|
|
1939
1929
|
}
|
1940
1930
|
min_date = df['日期'].min()
|
1941
1931
|
max_date = df['日期'].max()
|
1942
|
-
|
1943
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
1932
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
1944
1933
|
m_engine.df_to_mysql(
|
1945
1934
|
df=df,
|
1946
1935
|
db_name=db_name,
|
@@ -2006,8 +1995,7 @@ class MysqlDatasQuery:
|
|
2006
1995
|
}
|
2007
1996
|
min_date = df['日期'].min()
|
2008
1997
|
max_date = df['日期'].max()
|
2009
|
-
|
2010
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
1998
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
2011
1999
|
m_engine.df_to_mysql(
|
2012
2000
|
df=df,
|
2013
2001
|
db_name=db_name,
|
@@ -2105,8 +2093,7 @@ class MysqlDatasQuery:
|
|
2105
2093
|
}
|
2106
2094
|
min_date = df['日期'].min()
|
2107
2095
|
max_date = df['日期'].max()
|
2108
|
-
|
2109
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
2096
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
2110
2097
|
m_engine.df_to_mysql(
|
2111
2098
|
df=df,
|
2112
2099
|
db_name=db_name,
|
@@ -2182,8 +2169,7 @@ class MysqlDatasQuery:
|
|
2182
2169
|
}
|
2183
2170
|
min_date = df['日期'].min()
|
2184
2171
|
max_date = df['日期'].max()
|
2185
|
-
|
2186
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
2172
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
2187
2173
|
m_engine.df_to_mysql(
|
2188
2174
|
df=df,
|
2189
2175
|
db_name=db_name,
|
@@ -2251,8 +2237,7 @@ class MysqlDatasQuery:
|
|
2251
2237
|
}
|
2252
2238
|
min_date = df['日期'].min()
|
2253
2239
|
max_date = df['日期'].max()
|
2254
|
-
|
2255
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
2240
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
2256
2241
|
m_engine.df_to_mysql(
|
2257
2242
|
df=df,
|
2258
2243
|
db_name=db_name,
|
@@ -2337,8 +2322,7 @@ class MysqlDatasQuery:
|
|
2337
2322
|
}
|
2338
2323
|
min_date = df['日期'].min()
|
2339
2324
|
max_date = df['日期'].max()
|
2340
|
-
|
2341
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
2325
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
2342
2326
|
m_engine.df_to_mysql(
|
2343
2327
|
df=df,
|
2344
2328
|
db_name=db_name,
|
@@ -2473,8 +2457,7 @@ class MysqlDatasQuery:
|
|
2473
2457
|
}
|
2474
2458
|
min_date = df['日期'].min()
|
2475
2459
|
max_date = df['日期'].max()
|
2476
|
-
|
2477
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
2460
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
2478
2461
|
new_dict = {
|
2479
2462
|
'日期': '',
|
2480
2463
|
'店铺名称': '',
|
@@ -2973,8 +2956,7 @@ class MysqlDatasQuery:
|
|
2973
2956
|
return
|
2974
2957
|
min_date = df['日期'].min().strftime('%Y-%m-%d')
|
2975
2958
|
max_date = df['日期'].max().strftime('%Y-%m-%d')
|
2976
|
-
|
2977
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
2959
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
2978
2960
|
m_engine.df_to_mysql(
|
2979
2961
|
df=df,
|
2980
2962
|
db_name=db_name,
|
@@ -3063,8 +3045,7 @@ class MysqlDatasQuery:
|
|
3063
3045
|
}
|
3064
3046
|
min_date = df['日期'].min()
|
3065
3047
|
max_date = df['日期'].max()
|
3066
|
-
|
3067
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
3048
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
3068
3049
|
m_engine.df_to_mysql(
|
3069
3050
|
df=df,
|
3070
3051
|
db_name=db_name,
|
@@ -3113,8 +3094,7 @@ class MysqlDatasQuery:
|
|
3113
3094
|
}
|
3114
3095
|
min_date = df['日期'].min()
|
3115
3096
|
max_date = df['日期'].max()
|
3116
|
-
|
3117
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
3097
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
3118
3098
|
m_engine.df_to_mysql(
|
3119
3099
|
df=df,
|
3120
3100
|
db_name=db_name,
|
@@ -3223,8 +3203,7 @@ class MysqlDatasQuery:
|
|
3223
3203
|
}
|
3224
3204
|
min_date = df['日期'].min()
|
3225
3205
|
max_date = df['日期'].max()
|
3226
|
-
|
3227
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
3206
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
3228
3207
|
m_engine.df_to_mysql(
|
3229
3208
|
df=df,
|
3230
3209
|
db_name=db_name,
|
@@ -3578,7 +3557,6 @@ class MysqlDatasQuery:
|
|
3578
3557
|
'退货量_发货后': ('退货量_发货后', np.sum),
|
3579
3558
|
}
|
3580
3559
|
)
|
3581
|
-
# logger.info(df.info())
|
3582
3560
|
|
3583
3561
|
idbm['宝贝id'] = idbm['宝贝id'].astype('int64')
|
3584
3562
|
# 1. id 编码表合并图片表
|
@@ -3587,7 +3565,6 @@ class MysqlDatasQuery:
|
|
3587
3565
|
# 2. df 合并商品成本表
|
3588
3566
|
df_cb = pd.merge(df_cb, cost, how='left', left_on='商家编码', right_on='款号')
|
3589
3567
|
df_cb = df_cb[['宝贝id', '商家编码', '商品图片', '成本价']]
|
3590
|
-
# logger.info(df_cb.info())
|
3591
3568
|
# 3. 合并 df
|
3592
3569
|
df = pd.merge(df, df_cb, how='left', left_on='商品id', right_on='宝贝id')
|
3593
3570
|
df.drop(labels='宝贝id', axis=1, inplace=True)
|
@@ -3625,8 +3602,7 @@ class MysqlDatasQuery:
|
|
3625
3602
|
return
|
3626
3603
|
min_date = df['日期'].min()
|
3627
3604
|
max_date = df['日期'].max()
|
3628
|
-
|
3629
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
3605
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
3630
3606
|
m_engine.df_to_mysql(
|
3631
3607
|
df=df,
|
3632
3608
|
db_name=db_name,
|
@@ -3726,8 +3702,7 @@ class MysqlDatasQuery:
|
|
3726
3702
|
df['日期'] = pd.to_datetime(df['日期'], format='%Y-%m-%d', errors='ignore')
|
3727
3703
|
min_date = df['日期'].min()
|
3728
3704
|
max_date = df['日期'].max()
|
3729
|
-
|
3730
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
3705
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
3731
3706
|
m_engine.df_to_mysql(
|
3732
3707
|
df=df,
|
3733
3708
|
db_name=db_name,
|
@@ -3795,8 +3770,7 @@ class MysqlDatasQuery:
|
|
3795
3770
|
return
|
3796
3771
|
min_date = df['日期'].min().strftime("%Y-%m-%d")
|
3797
3772
|
max_date = df['日期'].max().strftime("%Y-%m-%d")
|
3798
|
-
|
3799
|
-
logger.info(f'{now} 正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
3773
|
+
logger.info(f'正在更新: mysql ({host}:{port}) {db_name}/{table_name} -> {min_date}~{max_date}')
|
3800
3774
|
m_engine.df_to_mysql(
|
3801
3775
|
df=df,
|
3802
3776
|
db_name=db_name,
|
@@ -3856,11 +3830,9 @@ def date_table():
|
|
3856
3830
|
for name, group in grouped:
|
3857
3831
|
if num > 52:
|
3858
3832
|
num = 1
|
3859
|
-
# logger.info(f'Group: {name}')
|
3860
3833
|
group['第n周_new'] = f'第{num}周'
|
3861
3834
|
num += 1
|
3862
3835
|
__res.append(group.copy())
|
3863
|
-
# logger.info(group)
|
3864
3836
|
# break
|
3865
3837
|
df = pd.concat(__res, ignore_index=True)
|
3866
3838
|
# df['日期'] = df['日期'].apply(lambda x: pd.to_datetime(x))
|
@@ -18,16 +18,15 @@ from contextlib import contextmanager
|
|
18
18
|
|
19
19
|
warnings.filterwarnings('ignore')
|
20
20
|
logger = mylogger.MyLogger(
|
21
|
-
name='deduplicator',
|
22
21
|
logging_mode='file',
|
23
22
|
log_level='info',
|
24
|
-
log_file='deduplicator.log',
|
25
23
|
log_format='json',
|
26
24
|
max_log_size=50,
|
27
25
|
backup_count=5,
|
28
26
|
enable_async=False, # 是否启用异步日志
|
29
|
-
sample_rate=1, # 采样DEBUG/INFO
|
30
|
-
sensitive_fields=[], #
|
27
|
+
sample_rate=1, # 采样DEBUG/INFO日志
|
28
|
+
sensitive_fields=[], # 敏感字段过滤
|
29
|
+
enable_metrics=False, # 是否启用性能指标
|
31
30
|
)
|
32
31
|
|
33
32
|
|
@@ -17,16 +17,15 @@ warnings.filterwarnings('ignore')
|
|
17
17
|
建表规范:
|
18
18
|
"""
|
19
19
|
logger = mylogger.MyLogger(
|
20
|
-
|
21
|
-
logging_mode='both',
|
20
|
+
logging_mode='file',
|
22
21
|
log_level='info',
|
23
|
-
log_file='mysql.log',
|
24
22
|
log_format='json',
|
25
23
|
max_log_size=50,
|
26
24
|
backup_count=5,
|
27
25
|
enable_async=False, # 是否启用异步日志
|
28
|
-
sample_rate=
|
29
|
-
sensitive_fields=[], #
|
26
|
+
sample_rate=1, # 采样DEBUG/INFO日志
|
27
|
+
sensitive_fields=[], # 敏感字段过滤
|
28
|
+
enable_metrics=False, # 是否启用性能指标
|
30
29
|
)
|
31
30
|
|
32
31
|
|
@@ -4,14 +4,24 @@ import warnings
|
|
4
4
|
import pymysql
|
5
5
|
import pandas as pd
|
6
6
|
from decimal import Decimal
|
7
|
-
import logging
|
8
7
|
from contextlib import closing
|
8
|
+
from mdbq.log import mylogger
|
9
9
|
|
10
10
|
warnings.filterwarnings('ignore')
|
11
11
|
"""
|
12
12
|
程序专门用来下载数据库数据, 并返回 df, 不做清洗数据操作;
|
13
13
|
"""
|
14
|
-
logger =
|
14
|
+
logger = mylogger.MyLogger(
|
15
|
+
logging_mode='file',
|
16
|
+
log_level='info',
|
17
|
+
log_format='json',
|
18
|
+
max_log_size=50,
|
19
|
+
backup_count=5,
|
20
|
+
enable_async=False, # 是否启用异步日志
|
21
|
+
sample_rate=1, # 采样DEBUG/INFO日志
|
22
|
+
sensitive_fields=[], # 敏感字段过滤
|
23
|
+
enable_metrics=False, # 是否启用性能指标
|
24
|
+
)
|
15
25
|
|
16
26
|
|
17
27
|
class QueryDatas:
|
@@ -15,16 +15,15 @@ from decimal import Decimal, InvalidOperation
|
|
15
15
|
|
16
16
|
warnings.filterwarnings('ignore')
|
17
17
|
logger = mylogger.MyLogger(
|
18
|
-
name='uploader',
|
19
18
|
logging_mode='file',
|
20
19
|
log_level='info',
|
21
|
-
log_file='uploader.log',
|
22
20
|
log_format='json',
|
23
21
|
max_log_size=50,
|
24
22
|
backup_count=5,
|
25
23
|
enable_async=False, # 是否启用异步日志
|
26
|
-
sample_rate=1, # 采样DEBUG/INFO
|
27
|
-
sensitive_fields=[], #
|
24
|
+
sample_rate=1, # 采样DEBUG/INFO日志
|
25
|
+
sensitive_fields=[], # 敏感字段过滤
|
26
|
+
enable_metrics=False, # 是否启用性能指标
|
28
27
|
)
|
29
28
|
|
30
29
|
|
@@ -1,34 +1,26 @@
|
|
1
1
|
# -*- coding: UTF-8 –*-
|
2
|
-
import os
|
3
2
|
import random
|
4
3
|
import pandas as pd
|
5
4
|
import numpy as np
|
6
5
|
import json
|
7
6
|
import datetime
|
8
7
|
import threading
|
9
|
-
import
|
10
|
-
from logging.handlers import RotatingFileHandler
|
8
|
+
from mdbq.log import mylogger
|
11
9
|
from decimal import Decimal
|
12
10
|
import orjson
|
13
11
|
|
14
12
|
# 获取当前模块的日志记录器
|
15
|
-
logger =
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
# 创建一个日志格式器,并设置给文件处理器
|
27
|
-
formatter = logging.Formatter('[%(asctime)s] %(levelname)s %(message)s', datefmt='%Y-%m-%d %H:%M:%S')
|
28
|
-
file_handler.setFormatter(formatter)
|
29
|
-
|
30
|
-
# 将文件处理器添加到日志记录器
|
31
|
-
logger.addHandler(file_handler)
|
13
|
+
logger = mylogger.MyLogger(
|
14
|
+
logging_mode='file',
|
15
|
+
log_level='info',
|
16
|
+
log_format='json',
|
17
|
+
max_log_size=50,
|
18
|
+
backup_count=5,
|
19
|
+
enable_async=False, # 是否启用异步日志
|
20
|
+
sample_rate=1, # 采样DEBUG/INFO日志
|
21
|
+
sensitive_fields=[], # 敏感字段过滤
|
22
|
+
enable_metrics=False, # 是否启用性能指标
|
23
|
+
)
|
32
24
|
|
33
25
|
|
34
26
|
class RedisData(object):
|
@@ -29,16 +29,14 @@ uld = uploader.MySQLUploader(username=username, password=password, host=host, po
|
|
29
29
|
# 实例化一个数据查询类,用来获取 cookies 表数据
|
30
30
|
download = s_query.QueryDatas(username=username, password=password, host=host, port=port)
|
31
31
|
logger = mylogger.MyLogger(
|
32
|
-
name='aikucun',
|
33
32
|
logging_mode='file',
|
34
33
|
log_level='info',
|
35
|
-
log_file='aikucun.log',
|
36
34
|
log_format='json',
|
37
35
|
max_log_size=50,
|
38
36
|
backup_count=5,
|
39
37
|
enable_async=False, # 是否启用异步日志
|
40
|
-
sample_rate=1, # 采样
|
41
|
-
sensitive_fields=[], #
|
38
|
+
sample_rate=1, # 采样DEBUG/INFO日志
|
39
|
+
sensitive_fields=[], # 敏感字段过滤
|
42
40
|
enable_metrics=False, # 是否启用性能指标
|
43
41
|
)
|
44
42
|
|
mdbq-4.0.0/mdbq/__version__.py
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
VERSION = '4.0.0'
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|