mdbq 4.0.46__py3-none-any.whl → 4.0.48__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.
@@ -5,6 +5,7 @@ from mdbq.mysql import s_query
5
5
  from mdbq.myconf import myconf
6
6
  from mdbq.log import mylogger
7
7
  from mdbq.other import error_handler
8
+ from mdbq.aggregation.set_typ_dict import SET_TYP_DICT
8
9
  import datetime
9
10
  from dateutil.relativedelta import relativedelta
10
11
  import pandas as pd
@@ -293,22 +294,7 @@ class MysqlDatasQuery:
293
294
  }
294
295
  )
295
296
  df.insert(loc=1, column='推广渠道', value='万相台无界版')
296
- set_typ = {
297
- '日期': 'date',
298
- '推广渠道': 'varchar(100)',
299
- '店铺名称': 'varchar(100)',
300
- '营销场景': 'varchar(100)',
301
- '商品id': 'bigint',
302
- '花费': 'decimal(12,2)',
303
- '展现量': 'int',
304
- '点击量': 'int',
305
- '加购量': 'int',
306
- '成交笔数': 'int',
307
- '成交金额': 'decimal(12,2)',
308
- '自然流量曝光量': 'int',
309
- '直接成交笔数': 'int',
310
- '直接成交金额': 'decimal(12,2)',
311
- }
297
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
312
298
  # 制作其他聚合表
313
299
  self.pf_datas.append(
314
300
  {
@@ -362,13 +348,7 @@ class MysqlDatasQuery:
362
348
  p= df_pic.pop('商品索引')
363
349
  df_pic.insert(loc=2, column='商品索引', value=p) # df中插入新列
364
350
  df_pic['更新时间'] = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
365
- set_typ = {
366
- '商品id': 'bigint',
367
- '店铺名称': 'varchar(100)',
368
- '商品索引': 'smallint',
369
- '花费': 'decimal(12,2)',
370
- '更新时间': 'timestamp',
371
- }
351
+ set_typ = SET_TYP_DICT['属性设置3_商品索引表_主推排序调用']
372
352
  logger.info('更新', {'主机': f'{host}:{port}', '库': '属性设置3', '表': '商品索引表_主推排序调用'})
373
353
  uld.upload_data(
374
354
  db_name='属性设置3',
@@ -462,22 +442,7 @@ class MysqlDatasQuery:
462
442
  }
463
443
  )
464
444
  df.insert(loc=1, column='推广渠道', value='万相台无界版') # df中插入新列
465
- set_typ = {
466
- '日期': 'date',
467
- '推广渠道': 'varchar(100)',
468
- '店铺名称': 'varchar(100)',
469
- '营销场景': 'varchar(100)',
470
- '商品id': 'bigint',
471
- '花费': 'decimal(12,2)',
472
- '展现量': 'int',
473
- '点击量': 'int',
474
- '加购量': 'int',
475
- '成交笔数': 'int',
476
- '成交金额': 'decimal(12,2)',
477
- '自然流量曝光量': 'int',
478
- '直接成交笔数': 'int',
479
- '直接成交金额': 'decimal(12,2)',
480
- }
445
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
481
446
  return df, {
482
447
  'db_name': db_name,
483
448
  'table_name': table_name,
@@ -568,22 +533,7 @@ class MysqlDatasQuery:
568
533
  }
569
534
  )
570
535
  df.insert(loc=1, column='推广渠道', value='万相台无界版') # df中插入新列
571
- set_typ = {
572
- '日期': 'date',
573
- '推广渠道': 'varchar(100)',
574
- '店铺名称': 'varchar(100)',
575
- '营销场景': 'varchar(100)',
576
- '商品id': 'bigint',
577
- '花费': 'decimal(12,2)',
578
- '展现量': 'int',
579
- '点击量': 'int',
580
- '加购量': 'int',
581
- '成交笔数': 'int',
582
- '成交金额': 'decimal(12,2)',
583
- '自然流量曝光量': 'int',
584
- '直接成交笔数': 'int',
585
- '直接成交金额': 'decimal(12,2)',
586
- }
536
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
587
537
  return df, {
588
538
  'db_name': db_name,
589
539
  'table_name': table_name,
@@ -674,22 +624,7 @@ class MysqlDatasQuery:
674
624
  }
675
625
  )
676
626
  df.insert(loc=1, column='推广渠道', value='万相台无界版') # df中插入新列
677
- set_typ = {
678
- '日期': 'date',
679
- '推广渠道': 'varchar(100)',
680
- '店铺名称': 'varchar(100)',
681
- '营销场景': 'varchar(100)',
682
- '商品id': 'bigint',
683
- '花费': 'decimal(12,2)',
684
- '展现量': 'int',
685
- '点击量': 'int',
686
- '加购量': 'int',
687
- '成交笔数': 'int',
688
- '成交金额': 'decimal(12,2)',
689
- '自然流量曝光量': 'int',
690
- '直接成交笔数': 'int',
691
- '直接成交金额': 'decimal(12,2)',
692
- }
627
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
693
628
  return df, {
694
629
  'db_name': db_name,
695
630
  'table_name': table_name,
@@ -749,22 +684,7 @@ class MysqlDatasQuery:
749
684
  else '300+' if x >= 300
750
685
  else '300以下'
751
686
  )
752
- set_typ = {
753
- '日期': 'date',
754
- '推广渠道': 'varchar(100)',
755
- '店铺名称': 'varchar(100)',
756
- '宝贝id': 'bigint',
757
- '行业类目': 'varchar(255)',
758
- '销售额': 'decimal(12,2)',
759
- '销售量': 'int',
760
- '订单数': 'int',
761
- '退货量': 'int',
762
- '退款额': 'decimal(12,2)',
763
- '退款额_发货后': 'decimal(12,2)',
764
- '退货量_发货后': 'int',
765
- '件均价': 'mediumint',
766
- '价格带': 'varchar(100)',
767
- }
687
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
768
688
  return df, {
769
689
  'db_name': db_name,
770
690
  'table_name': table_name,
@@ -953,25 +873,7 @@ class MysqlDatasQuery:
953
873
  else x['人群分类'], axis=1
954
874
  )
955
875
  df['人群分类'] = df['人群分类'].apply(lambda x: str(x).upper() if x else x)
956
- set_typ = {
957
- '日期': 'date',
958
- '推广渠道': 'varchar(100)',
959
- '店铺名称': 'varchar(100)',
960
- '营销场景': 'varchar(100)',
961
- '商品id': 'bigint',
962
- '花费': 'decimal(10,2)',
963
- '展现量': 'int',
964
- '点击量': 'int',
965
- '人群名字': 'varchar(255)',
966
- '加购量': 'int',
967
- '成交笔数': 'int',
968
- '成交金额': 'decimal(12,2)',
969
- '直接成交笔数': 'int',
970
- '直接成交金额': 'decimal(12,2)',
971
- '消费力层级': 'varchar(100)',
972
- '用户年龄': 'varchar(100)',
973
- '人群分类': 'varchar(100)',
974
- }
876
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
975
877
  df.fillna(0, inplace=True)
976
878
  return df, {
977
879
  'db_name': db_name,
@@ -1087,25 +989,7 @@ class MysqlDatasQuery:
1087
989
  )
1088
990
  else:
1089
991
  df['词分类'] = df['词名字_词包名字'].apply(lambda x: self.ret_keyword(keyword=str(x), as_file=False))
1090
- set_typ = {
1091
- '日期': 'date',
1092
- '推广渠道': 'varchar(100)',
1093
- '店铺名称': 'varchar(100)',
1094
- '营销场景': 'varchar(100)',
1095
- '商品id': 'bigint',
1096
- '词类型': 'varchar(100)',
1097
- '词名字_词包名字': 'varchar(255)',
1098
- '花费': 'decimal(10,2)',
1099
- '展现量': 'int',
1100
- '点击量': 'int',
1101
- '加购量': 'int',
1102
- '成交笔数': 'int',
1103
- '成交金额': 'decimal(12,2)',
1104
- '直接成交笔数': 'int',
1105
- '直接成交金额': 'decimal(12,2)',
1106
- '是否品牌词': 'varchar(100)',
1107
- '词分类': 'varchar(100)',
1108
- }
992
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
1109
993
  return df, {
1110
994
  'db_name': db_name,
1111
995
  'table_name': table_name,
@@ -1254,24 +1138,7 @@ class MysqlDatasQuery:
1254
1138
  '数据主体': df[['日期', '店铺名称', '推广渠道', '营销场景', '花费', '展现量', '观看次数', '加购量', '成交笔数', '成交金额', '直接成交笔数', '直接成交金额']]
1255
1139
  },
1256
1140
  ) # 制作其他聚合表
1257
- set_typ = {
1258
- '日期': 'date',
1259
- '推广渠道': 'varchar(100)',
1260
- '店铺名称': 'varchar(100)',
1261
- '营销场景': 'varchar(100)',
1262
- '人群名字': 'varchar(255)',
1263
- '计划名字': 'varchar(255)',
1264
- '花费': 'decimal(10,2)',
1265
- '观看次数': 'int',
1266
- '展现量': 'int',
1267
- '进店量': 'int',
1268
- '粉丝关注量': 'int',
1269
- '加购量': 'int',
1270
- '成交笔数': 'int',
1271
- '成交金额': 'decimal(12,2)',
1272
- '直接成交笔数': 'int',
1273
- '直接成交金额': 'decimal(12,2)',
1274
- }
1141
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
1275
1142
  return df, {
1276
1143
  'db_name': db_name,
1277
1144
  'table_name': table_name,
@@ -1365,21 +1232,7 @@ class MysqlDatasQuery:
1365
1232
  '数据主体': df[['日期', '店铺名称', '推广渠道', '营销场景', '花费', '展现量', '点击量', '加购量', '成交笔数', '成交金额']]
1366
1233
  },
1367
1234
  ) # 制作其他聚合表
1368
- set_typ = {
1369
- '日期': 'date',
1370
- '推广渠道': 'varchar(100)',
1371
- '店铺名称': 'varchar(100)',
1372
- '营销场景': 'varchar(100)',
1373
- '报表类型': 'varchar(100)',
1374
- '花费': 'decimal(10,2)',
1375
- '展现量': 'int',
1376
- '点击量': 'int',
1377
- '加购量': 'int',
1378
- '成交笔数': 'int',
1379
- '成交金额': 'decimal(12,2)',
1380
- '品牌搜索量': 'int',
1381
- '品牌搜索人数': 'int',
1382
- }
1235
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
1383
1236
  logger.info('更新', {'主机': f'{host}:{port}', '库': db_name, '表': table_name})
1384
1237
  return df, {
1385
1238
  'db_name': db_name,
@@ -1420,15 +1273,7 @@ class MysqlDatasQuery:
1420
1273
  idx = df.groupby(['日期', '商品id'])['更新时间'].idxmax()
1421
1274
  df = df.loc[idx]
1422
1275
  df.rename(columns={'商品id': '宝贝id'}, inplace=True)
1423
- set_typ = {
1424
- '日期': 'date',
1425
- '宝贝id': 'bigint',
1426
- '商家编码': 'varchar(255)',
1427
- '一级类目': 'varchar(100)',
1428
- '二级类目': 'varchar(100)',
1429
- '三级类目': 'varchar(100)',
1430
- '更新时间': 'timestamp'
1431
- }
1276
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
1432
1277
  logger.info('更新', {'主机': f'{host}:{port}', '库': db_name, '表': table_name})
1433
1278
  return df, {
1434
1279
  'db_name': db_name,
@@ -1470,16 +1315,7 @@ class MysqlDatasQuery:
1470
1315
  idx = df.groupby(['日期', 'sku_id'])['更新时间'].idxmax()
1471
1316
  df = df.loc[idx]
1472
1317
  df.rename(columns={'白底图': '商品图片'}, inplace=True)
1473
- set_typ = {
1474
- '日期': 'date',
1475
- '商品id': 'bigint',
1476
- # '白底图': 'varchar(255)',
1477
- '商品图片': 'varchar(255)',
1478
- '商家编码': 'varchar(255)',
1479
- 'sku_id': 'bigint',
1480
- 'sku地址': 'varchar(255)',
1481
- '更新时间': 'timestamp'
1482
- }
1318
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
1483
1319
  return df, {
1484
1320
  'db_name': db_name,
1485
1321
  'table_name': table_name,
@@ -1530,21 +1366,7 @@ class MysqlDatasQuery:
1530
1366
  return item['上市年份']
1531
1367
 
1532
1368
  df['上市年份'] = df['商品id'].apply(lambda x: check_year(x))
1533
- set_typ = {
1534
- '日期': 'date',
1535
- '店铺id': 'bigint',
1536
- '店铺名称': 'varchar(255)',
1537
- '商家id': 'bigint',
1538
- '商品id': 'bigint',
1539
- '上市年份': 'varchar(50)',
1540
- '商品标题': 'varchar(255)',
1541
- '商品链接': 'varchar(255)',
1542
- '商品图片': 'varchar(255)',
1543
- '销量': 'varchar(50)',
1544
- '页面价': 'int',
1545
- 'data_sku': 'varchar(1000)',
1546
- '更新时间': 'timestamp',
1547
- }
1369
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
1548
1370
  return df, {
1549
1371
  'db_name': db_name,
1550
1372
  'table_name': table_name,
@@ -1624,48 +1446,7 @@ class MysqlDatasQuery:
1624
1446
  df['上市季节'] = df['上市年月'].apply(lambda x: check_jijie(x))
1625
1447
  p = df.pop('上市季节')
1626
1448
  df.insert(loc=9, column='上市季节', value=p)
1627
- set_typ = {
1628
- '商品id': 'BIGINT',
1629
- '店铺名称': 'varchar(100)',
1630
- '商品名称': 'varchar(255)',
1631
- '主商品id': 'BIGINT',
1632
- '商品类型': 'varchar(50)',
1633
- '货号': 'varchar(50)',
1634
- '商品状态': 'varchar(50)',
1635
- '商品标签': 'varchar(50)',
1636
- '商品访客数': 'int',
1637
- '商品浏览量': 'int',
1638
- '平均停留时长': 'decimal(10,2)',
1639
- '商品详情页跳出率': 'decimal(6,4)',
1640
- '商品收藏人数': 'smallint',
1641
- '商品加购件数': 'smallint',
1642
- '商品加购人数': 'smallint',
1643
- '下单买家数': 'smallint',
1644
- '下单件数': 'smallint',
1645
- '下单金额': 'decimal(10,2)',
1646
- '下单转化率': 'decimal(10,4)',
1647
- '支付买家数': 'smallint',
1648
- '支付件数': 'int',
1649
- '支付金额': 'decimal(12,2)',
1650
- '商品支付转化率': 'decimal(10,4)',
1651
- '支付新买家数': 'smallint',
1652
- '支付老买家数': 'smallint',
1653
- '老买家支付金额': 'decimal(10,2)',
1654
- '聚划算支付金额': 'decimal(10,2)',
1655
- '访客平均价值': 'decimal(10,2)',
1656
- '成功退款金额': 'decimal(10,2)',
1657
- '竞争力评分': 'smallint',
1658
- '年累计支付金额': 'decimal(12,2)',
1659
- '月累计支付金额': 'decimal(12,2)',
1660
- '月累计支付件数': 'mediumint',
1661
- '搜索引导支付转化率': 'decimal(6,4)',
1662
- '搜索引导访客数': 'smallint',
1663
- '搜索引导支付买家数': 'smallint',
1664
- '结构化详情引导转化率': 'decimal(6,4)',
1665
- '结构化详情引导成交占比': 'decimal(6,4)',
1666
- '更新时间': 'timestamp',
1667
- '上市年份': 'varchar(100)',
1668
- }
1449
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
1669
1450
  return df, {
1670
1451
  'db_name': db_name,
1671
1452
  'table_name': table_name,
@@ -1754,23 +1535,7 @@ class MysqlDatasQuery:
1754
1535
  df = pd.merge(df, df_visitor3, how='left', left_on='三级来源', right_on='三级来源')
1755
1536
  for col in ['一级来源索引', '二级来源索引', '三级来源索引']:
1756
1537
  df[col] = df[col].apply(lambda x: 1000 if str(x) == 'nan' else x)
1757
- set_typ = {
1758
- '日期': 'date',
1759
- '店铺名称': 'varchar(100)',
1760
- '类别': 'varchar(100)',
1761
- '来源构成': 'varchar(100)',
1762
- '一级来源': 'varchar(100)',
1763
- '二级来源': 'varchar(100)',
1764
- '三级来源': 'varchar(100)',
1765
- '访客数': 'int',
1766
- '支付金额': 'decimal(12,2)',
1767
- '支付买家数': 'int',
1768
- '支付转化率': 'decimal(10,4)',
1769
- '加购人数': 'int',
1770
- '一级来源索引': 'smallint',
1771
- '二级来源索引': 'smallint',
1772
- '三级来源索引': 'smallint',
1773
- }
1538
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
1774
1539
  return df, {
1775
1540
  'db_name': db_name,
1776
1541
  'table_name': table_name,
@@ -1799,15 +1564,7 @@ class MysqlDatasQuery:
1799
1564
  df = pd.DataFrame(data=data_values)
1800
1565
  df.sort_values(by=['款号', '日期'], ascending=[False, True], ignore_index=True, inplace=True)
1801
1566
  df.drop_duplicates(subset=['款号'], keep='last', inplace=True, ignore_index=True)
1802
- set_typ = {
1803
- '日期': 'date',
1804
- '款号': 'varchar(100)',
1805
- '年份季节': 'varchar(100)',
1806
- '吊牌价': 'decimal(10,2)',
1807
- '成本价': 'decimal(10,2)',
1808
- '天猫页面价': 'decimal(10,2)',
1809
- '天猫中促价': 'decimal(10,2)',
1810
- }
1567
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
1811
1568
  return df, {
1812
1569
  'db_name': db_name,
1813
1570
  'table_name': table_name,
@@ -1899,23 +1656,7 @@ class MysqlDatasQuery:
1899
1656
  cols = list(df.columns)
1900
1657
  cols.insert(3, cols.pop(cols.index('spu_id')))
1901
1658
  df = df[cols]
1902
- set_typ = {
1903
- '日期': 'date',
1904
- '店铺名称': 'varchar(100)',
1905
- '产品线': 'varchar(100)',
1906
- '触发sku_id': 'bigint',
1907
- '跟单sku_id': 'bigint',
1908
- 'spu_id': 'bigint',
1909
- '花费': 'decimal(10,2)',
1910
- '展现数': 'int',
1911
- '点击数': 'int',
1912
- '直接订单行': 'int',
1913
- '直接订单金额': 'decimal(10,2)',
1914
- '总订单行': 'int',
1915
- '总订单金额': 'decimal(10,2)',
1916
- '直接加购数': 'int',
1917
- '总加购数': 'int',
1918
- }
1659
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
1919
1660
  return df, {
1920
1661
  'db_name': db_name,
1921
1662
  'table_name': table_name,
@@ -1970,19 +1711,7 @@ class MysqlDatasQuery:
1970
1711
  }
1971
1712
  )
1972
1713
  df = df[df['花费'] > 0]
1973
- set_typ = {
1974
- '日期': 'date',
1975
- '店铺名称': 'varchar(100)',
1976
- '产品线': 'varchar(100)',
1977
- '花费': 'decimal(10,2)',
1978
- '全站投产比': 'decimal(10,2)',
1979
- '全站交易额': 'decimal(10,2)',
1980
- '全站订单行': 'decimal(10,2)',
1981
- '全站订单成本': 'decimal(10,2)',
1982
- '全站费比': 'decimal(8,4)',
1983
- '核心位置展现量': 'int',
1984
- '核心位置点击量': 'int',
1985
- }
1714
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
1986
1715
  return df, {
1987
1716
  'db_name': db_name,
1988
1717
  'table_name': table_name,
@@ -2058,30 +1787,7 @@ class MysqlDatasQuery:
2058
1787
  df['k_是否品牌词'] = df['k_是否品牌词'].apply(lambda x: '品牌词' if x else '-')
2059
1788
  df['s_是否品牌词'] = df['搜索词'].str.contains('万里马|wanlima', regex=True)
2060
1789
  df['s_是否品牌词'] = df['s_是否品牌词'].apply(lambda x: '品牌词' if x else '-')
2061
- set_typ = {
2062
- '日期': 'date',
2063
- '产品线': 'varchar(100)',
2064
- '计划类型': 'varchar(100)',
2065
- '计划id': 'varchar(100)',
2066
- '搜索词': 'varchar(100)',
2067
- '关键词': 'varchar(100)',
2068
- '关键词购买类型': 'varchar(100)',
2069
- '广告定向类型': 'varchar(100)',
2070
- '展现数': 'int',
2071
- '点击数': 'int',
2072
- '花费': 'decimal(10,2)',
2073
- '直接订单行': 'int',
2074
- '直接订单金额': 'decimal(12,2)',
2075
- '总订单行': 'int',
2076
- '总订单金额': 'decimal(12,2)',
2077
- '总加购数': 'int',
2078
- '领券数': 'int',
2079
- '商品关注数': 'int',
2080
- '店铺关注数': 'int',
2081
- '推广计划': 'varchar(100)',
2082
- 'k_是否品牌词': 'varchar(100)',
2083
- 's_是否品牌词': 'varchar(100)',
2084
- }
1790
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
2085
1791
  return df, {
2086
1792
  'db_name': db_name,
2087
1793
  'table_name': table_name,
@@ -2131,19 +1837,7 @@ class MysqlDatasQuery:
2131
1837
  idx = df.groupby(['日期', '店铺名称', '商品id', '货号', '访客数', '成交客户数', '加购商品件数', '加购人数'])['更新时间'].idxmax()
2132
1838
  df = df.loc[idx]
2133
1839
  df = df[['日期', '店铺名称', '商品id', '货号', '访客数', '成交客户数', '加购商品件数', '加购人数', '成交单量', '成交金额']]
2134
- set_typ = {
2135
- '日期': 'date',
2136
- '店铺名称': 'varchar(100)',
2137
- '商品id': 'varchar(100)',
2138
- '货号': 'varchar(100)',
2139
- '访客数': 'int',
2140
- '成交客户数': 'int',
2141
- '加购商品件数': 'int',
2142
- '加购人数': 'int',
2143
- '成交单量': 'int',
2144
- '成交金额': 'decimal(10,2)',
2145
- 'sku_id': 'varchar(100)',
2146
- }
1840
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
2147
1841
  return df, {
2148
1842
  'db_name': db_name,
2149
1843
  'table_name': table_name,
@@ -2193,19 +1887,7 @@ class MysqlDatasQuery:
2193
1887
  idx = df.groupby(['日期', '店铺名称', '商品id', '货号', '访客数', '成交客户数', '加购商品件数', '加购人数'])['更新时间'].idxmax()
2194
1888
  df = df.loc[idx]
2195
1889
  df = df[['日期', '店铺名称', '商品id', '货号', '访客数', '成交客户数', '加购商品件数', '加购人数', '成交单量', '成交金额']]
2196
- set_typ = {
2197
- '日期': 'date',
2198
- '店铺名称': 'varchar(100)',
2199
- '商品id': 'varchar(100)',
2200
- '货号': 'varchar(100)',
2201
- '访客数': 'int',
2202
- '成交客户数': 'int',
2203
- '加购商品件数': 'int',
2204
- '加购人数': 'int',
2205
- '成交单量': 'int',
2206
- '成交金额': 'decimal(10,2)',
2207
- 'spu_id': 'varchar(100)',
2208
- }
1890
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
2209
1891
  return df, {
2210
1892
  'db_name': db_name,
2211
1893
  'table_name': table_name,
@@ -2265,20 +1947,7 @@ class MysqlDatasQuery:
2265
1947
  idx = df.groupby(['日期', '店铺名称', '词类型', '搜索词'])['更新时间'].idxmax()
2266
1948
  df = df.loc[idx]
2267
1949
  df = df[['日期', '店铺名称', '词类型', '搜索词', '访客数', '加购人数', '支付金额', '支付转化率', '支付买家数', '客单价', 'uv价值']]
2268
-
2269
- set_typ = {
2270
- '日期': 'date',
2271
- '店铺名称': 'varchar(100)',
2272
- '词类型': 'varchar(100)',
2273
- '搜索词': 'varchar(255)',
2274
- '访客数': 'int',
2275
- '加购人数': 'int',
2276
- '支付金额': 'decimal(10,2)',
2277
- '支付转化率': 'decimal(10,4)',
2278
- '支付买家数': 'int',
2279
- '客单价': 'decimal(10,2)',
2280
- 'uv价值': 'decimal(10,2)',
2281
- }
1950
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
2282
1951
  return df, {
2283
1952
  'db_name': db_name,
2284
1953
  'table_name': table_name,
@@ -2307,80 +1976,7 @@ class MysqlDatasQuery:
2307
1976
  projection={},
2308
1977
  )
2309
1978
  df.drop_duplicates(subset=['场次id'], keep='first', inplace=True, ignore_index=True)
2310
- set_typ = {
2311
- '日期': 'DATE',
2312
- '店铺名称': 'varchar(100)',
2313
- 'fvr_pv': 'int',
2314
- '封面图点击率': 'decimal(10,4)',
2315
- 'itrt_pv ': 'int',
2316
- '开播时长': 'smallint',
2317
- '成交笔数': 'smallint',
2318
- 'aov': 'decimal(10,2)',
2319
- '退款金额': 'decimal(12,2)',
2320
- '曝光pv': 'int',
2321
- '场次信息': 'varchar(255)',
2322
- 'cmt_uv': 'int',
2323
- '退款件数占比': 'decimal(10,4)',
2324
- 'reward_gift_cnt': 'smallint',
2325
- '观看人数': 'int',
2326
- '开播时长_f': 'varchar(100)',
2327
- 'reward_uv_rate': 'smallint',
2328
- 'fvr_uv': 'int',
2329
- '直播开播时间': 'datetime',
2330
- '商品点击率': 'decimal(10,4)',
2331
- '加购次数': 'smallint',
2332
- '成交转化率': 'decimal(10,4)',
2333
- 'atv': 'decimal(10,2)',
2334
- '成交金额': 'decimal(12,2)',
2335
- '退款人数': 'smallint',
2336
- 'index': 'smallint',
2337
- '预售定金支付人数': 'smallint',
2338
- '加购访客': 'smallint',
2339
- '商品点击次数': 'int',
2340
- '退款笔数': 'smallint',
2341
- 'itrt_uv': 'smallint',
2342
- '成交人数': 'smallint',
2343
- '观看总时长': 'varchar(100)',
2344
- '加购访客转化率': 'decimal(10,4)',
2345
- 'subpay_order_cnt': 'smallint',
2346
- 'cmt_pv': 'int',
2347
- '商品点击人数': 'int',
2348
- 'status': 'int',
2349
- '商品曝光uv': 'int',
2350
- '预售定金支付件数': 'smallint',
2351
- '预售预估总金额': 'decimal(12,2)',
2352
- '退款笔数占比': 'decimal(10,4)',
2353
- 'reward_pv': 'int',
2354
- '访客点击量': 'int',
2355
- 'aiv': 'decimal(10,2)',
2356
- 'shr_uv': 'int',
2357
- '浏览点击量': 'int',
2358
- '场次图片': 'text',
2359
- 'user_role': 'varchar(100)',
2360
- '退款人数占比': 'decimal(10,4)',
2361
- '退款件数': 'smallint',
2362
- '新增粉丝数': 'smallint',
2363
- '场均观看时长': 'decimal(10,2)',
2364
- '人均观看时长': 'decimal(10,2)',
2365
- '加购人数': 'smallint',
2366
- 'reward_uv': 'smallint',
2367
- '直播结束时间': 'datetime',
2368
- '商品曝光pv': 'int',
2369
- 'shr_pv': 'int',
2370
- '场次id': 'bigint',
2371
- 'look_pv_flowcontrol': 'smallint',
2372
- '退款率': 'decimal(10,4)',
2373
- 'is_delete': 'varchar(50)',
2374
- 'atn_uv_rate': 'decimal(10,4)',
2375
- '成交件数': 'smallint',
2376
- '最大在线人数': 'int',
2377
- '曝光uv': 'int',
2378
- '加购件数': 'smallint',
2379
- '预售定金支付金额': 'decimal(12,2)',
2380
- '观看次数': 'int',
2381
- '封面图': 'text',
2382
- '更新时间': 'timestamp',
2383
- }
1979
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
2384
1980
  ordered_columns = [
2385
1981
  '日期',
2386
1982
  '店铺名称',
@@ -2865,17 +2461,7 @@ class MysqlDatasQuery:
2865
2461
  }
2866
2462
  )
2867
2463
  df.sort_values(['日期', '店铺名称', '花费'], ascending=[False, False, False], ignore_index=True, inplace=True)
2868
- set_typ = {
2869
- '日期': 'date',
2870
- '店铺名称': 'varchar(100)',
2871
- '营销场景': 'varchar(100)',
2872
- '花费': 'decimal(12,2)',
2873
- '展现量': 'int',
2874
- '点击量': 'int',
2875
- '加购量': 'int',
2876
- '成交笔数': 'int',
2877
- '成交金额': 'decimal(12,2)',
2878
- }
2464
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
2879
2465
  return df, {
2880
2466
  'db_name': db_name,
2881
2467
  'table_name': table_name,
@@ -2951,20 +2537,7 @@ class MysqlDatasQuery:
2951
2537
  df = df[new_columns]
2952
2538
  df['更新时间'] = df.pop('更新时间')
2953
2539
  df = df.astype({'日期': 'datetime64[ns]'}, errors='ignore')
2954
- set_typ = {
2955
- '日期': 'date',
2956
- '店铺名称': 'varchar(100)',
2957
- 'spuid': 'varchar(100)',
2958
- '图片': 'varchar(255)',
2959
- '序号': 'smallint',
2960
- '商品名称': 'varchar(255)',
2961
- '商品款号': 'varchar(255)',
2962
- '一级类目名称': 'varchar(255)',
2963
- '二级类目名称': 'varchar(255)',
2964
- '三级类目名称': 'varchar(255)',
2965
- '数据更新时间': 'timestamp',
2966
- '更新时间': 'timestamp',
2967
- }
2540
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
2968
2541
  return df, {
2969
2542
  'db_name': db_name,
2970
2543
  'table_name': table_name,
@@ -2993,26 +2566,7 @@ class MysqlDatasQuery:
2993
2566
  projection=projection,
2994
2567
  )
2995
2568
  df.drop_duplicates(subset=['日期', '人群类型', '店铺名称', '人群规模', '广告投入金额'], keep='last', inplace=True, ignore_index=True)
2996
- set_typ = {
2997
- '日期': 'date',
2998
- '人群类型': 'varchar(100)',
2999
- '店铺名称': 'varchar(100)',
3000
- '人群规模': 'int',
3001
- '人均成交价值': 'decimal(10, 4)',
3002
- 'datatype': 'varchar(100)',
3003
- '人群总计': 'int',
3004
- '广告触达占比': 'decimal(12, 4)',
3005
- '广告投入金额': 'decimal(12, 2)',
3006
- 'touchcharge': 'decimal(12, 2)',
3007
- '人群占比': 'decimal(12, 4)',
3008
- '长周期roi': 'decimal(12, 4)',
3009
- '支付买家数': 'int',
3010
- '成交笔数': 'int',
3011
- '成交金额': 'decimal(13, 2)',
3012
- '触达人数': 'int',
3013
- '长周期成交价值': 'decimal(13, 2)',
3014
- '达摩盘id': 'int',
3015
- }
2569
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
3016
2570
  return df, {
3017
2571
  'db_name': db_name,
3018
2572
  'table_name': table_name,
@@ -3051,44 +2605,7 @@ class MysqlDatasQuery:
3051
2605
  df.rename(columns={'起始日期': '日期'}, inplace=True)
3052
2606
 
3053
2607
  # df.drop_duplicates(subset=['日期', '店铺名称', '场景id', '父渠道id'], keep='last', inplace=True, ignore_index=True)
3054
- set_typ = {
3055
- '日期': 'date',
3056
- '起始日期': 'date',
3057
- '结束日期': 'date',
3058
- '店铺名称': 'varchar(100)',
3059
- '场景id': 'varchar(50)',
3060
- '场景名字': 'varchar(50)',
3061
- '是否子渠道': 'varchar(10)',
3062
- '父渠道id': 'varchar(50)',
3063
- '父渠道名称': 'varchar(50)',
3064
- '在投计划数': 'varchar(10)',
3065
- 'bizCode': 'varchar(50)',
3066
- 'channelType': 'varchar(50)',
3067
- 'urlOneBP': 'varchar(255)',
3068
- '花费': 'decimal(12, 2)',
3069
- '展现量': 'int',
3070
- '点击量': 'int',
3071
- '加购成本': 'decimal(10, 4)',
3072
- '加购率': 'decimal(10, 4)',
3073
- '单次点击成本': 'decimal(10, 4)',
3074
- '当天引导roi': 'decimal(10, 4)',
3075
- '当天引导成交笔数': 'int',
3076
- '当天引导成交金额': 'decimal(12, 2)',
3077
- '总购物车数': 'int',
3078
- '成交笔数': 'int',
3079
- '成交转化率': 'decimal(10, 4)',
3080
- '成交金额': 'decimal(12, 2)',
3081
- '成交金额占比': 'decimal(10, 4)',
3082
- '消耗占比': 'decimal(10, 4)',
3083
- '渠道策略': 'varchar(255)',
3084
- '点击转化率': 'decimal(10, 6)',
3085
- '种草': 'varchar(10)',
3086
- '笔单价': 'decimal(10, 2)',
3087
- '蓄水转化成交笔数': 'int',
3088
- '蓄水转化成交金额': 'decimal(12, 2)',
3089
- '转化收割': 'varchar(10)',
3090
- '更新时间': 'timestamp',
3091
- }
2608
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
3092
2609
  return df, {
3093
2610
  'db_name': db_name,
3094
2611
  'table_name': table_name,
@@ -3148,53 +2665,7 @@ class MysqlDatasQuery:
3148
2665
  df['用户年龄'] = df['用户年龄'].apply(lambda x: '~'.join(re.findall(r'^(\d+).*-(\d+)岁$', str(x))[0]) if '岁' in str(x) else x)
3149
2666
  df['消费能力等级'] = df['消费能力等级'].apply(lambda x: f'L{''.join(re.findall(r'(\d)', str(x)))}' if '购买力' in str(x) else x)
3150
2667
  df.rename(columns={'消耗_元': '消耗'}, inplace=True)
3151
- set_typ = {
3152
- '日期': 'date',
3153
- '店铺名称': 'varchar(100)',
3154
- '人群id': 'bigint',
3155
- '人群名称': 'varchar(255)',
3156
- '营销渠道': 'varchar(100)',
3157
- '计划基础信息': 'varchar(255)',
3158
- '推广单元信息': 'varchar(255)',
3159
- '消耗_元': 'decimal(10,2)',
3160
- '展现人数': 'int',
3161
- '展现量': 'int',
3162
- '点击人数': 'int',
3163
- '点击量': 'int',
3164
- '店铺收藏人数': 'smallint',
3165
- '店铺收藏量': 'smallint',
3166
- '加购人数': 'smallint',
3167
- '加购量': 'smallint',
3168
- '宝贝收藏人数': 'smallint',
3169
- '宝贝收藏量': 'smallint',
3170
- '收藏加购量': 'smallint',
3171
- '收藏加购人数': 'smallint',
3172
- '拍下人数': 'smallint',
3173
- '拍下订单量': 'smallint',
3174
- '拍下订单金额_元': 'decimal(10,2)',
3175
- '成交人数': 'smallint',
3176
- '成交订单量': 'smallint',
3177
- '成交订单金额_元': 'decimal(10,2)',
3178
- '店铺首购人数': 'smallint',
3179
- '店铺复购人数': 'smallint',
3180
- '点击率': 'decimal(10,4)',
3181
- 'uv点击率': 'decimal(10, 4)',
3182
- '收藏加购率': 'decimal(10, 4)',
3183
- 'uv收藏加购率': 'decimal(10, 4)',
3184
- '点击转化率': 'decimal(10, 4)',
3185
- 'uv点击转化率': 'decimal(10, 4)',
3186
- '投资回报率': 'decimal(10, 4)',
3187
- '千次展现成本_元': 'decimal(10, 2)',
3188
- '点击成本_元': 'decimal(10, 2)',
3189
- 'uv点击成本_元': 'decimal(10, 2)',
3190
- '收藏加购成本_元': 'decimal(10, 2)',
3191
- 'uv收藏加购成本_元': 'decimal(10, 2)',
3192
- '更新时间': 'timestamp',
3193
- '人群规模': 'int',
3194
- '用户年龄': 'varchar(100)',
3195
- '消费能力等级': 'varchar(100)',
3196
- '用户性别': 'varchar(100)',
3197
- }
2668
+ set_typ = SET_TYP_DICT[f'{db_name}_{table_name}']
3198
2669
  return df, {
3199
2670
  'db_name': db_name,
3200
2671
  'table_name': table_name,
@@ -3568,7 +3039,7 @@ class MysqlDatasQuery:
3568
3039
  df.replace(to_replace='', value=0, inplace=True)
3569
3040
  set_typ = {
3570
3041
  '日期': 'date',
3571
- '店铺名称': 'varchar(100)',
3042
+ '店铺名称': 'varchar(255)',
3572
3043
  '推广渠道': 'varchar(100)',
3573
3044
  '营销场景': 'varchar(100)',
3574
3045
  '商品id': 'bigint',
@@ -3667,21 +3138,7 @@ def date_table():
3667
3138
  df = df.reset_index(drop=False)
3668
3139
  df.rename(columns={'index': 'id'}, inplace=True)
3669
3140
  df['id'] = df['id'].apply(lambda x: x + 1)
3670
- set_typ = {
3671
- '日期': 'date',
3672
- '年': 'varchar(50)',
3673
- '月': 'varchar(50)',
3674
- '日': 'int',
3675
- '年月': 'varchar(50)',
3676
- '月日': 'varchar(50)',
3677
- '第n周': 'varchar(50)',
3678
- '第n周_new': 'varchar(50)',
3679
- '星期': 'varchar(50)',
3680
- 'weekname': 'varchar(50)',
3681
- '索引': 'int',
3682
- '月索引': 'int',
3683
- }
3684
-
3141
+ set_typ = SET_TYP_DICT['聚合数据_日期表']
3685
3142
  return df, {
3686
3143
  'db_name': '聚合数据',
3687
3144
  'table_name': '日期表',