dws_user_clues.py 1.85 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
# -*- coding: utf-8 -*-
import logging
import sys

from common.mysql_uitl import fetch_all

'''
用户分享事件统计,定时任务,每2个小时运行一次
现在只有产品/直播/课程的线索
'''
logging.basicConfig(format="%(asctime)s %(name)s:%(levelname)s:%(message)s", datefmt="%Y-%m-%d %H:%M:%S", level=logging.INFO)
file_name = sys.argv[0]



def dws_user_clues(data_dt):
    user_clues_dict = query_user_fund_clues()
    save_user_clues(user_clues_dict)


def query_user_fund_clues():
    function_name = sys._getframe().f_code.co_name
    logging.info(f'{function_name} start')
    # 有的数据,有访问,却没有分享
    # 是不是要建视图
    sql = '''
        select  p.data_dt as share_dt
                ,t.data_dt as visitor_dt
                ,p.user_id
                ,p.real_name 
                ,p.user_name
                ,p.nickname
                ,p.team_id
                ,p.res_id
                ,p.event_type
                ,p.extra_id
                ,p.source_user_id
                ,p.source_uuid_id
                ,p.local_time as share_time
                ,t.local_time as visitor_time
        from    tamp_data_dwd.dwd_user_share_event p
        left    join tamp_data_dwd.dwd_user_visit_clues t 
        on      p.source_user_id = t.source_user_id
        and     p.source_uuid_id = t.source_uuid_id
        and     p.res_id = t.res_id
    '''
    user_clues_dict = fetch_all(sql, None)
    logging.info(f'{function_name} success')
    return user_clues_dict


def save_user_clues(user_clues_dict):
    sql = '''
    '''

if __name__ == '__main__':
    import datetime
    begin = datetime.date(2021, 4, 1)
    end = datetime.date(2021, 9, 14)
    data_dt = begin
    delta = datetime.timedelta(days=1)
    while data_dt <= end:
        print(data_dt.strftime("%Y-%m-%d"))
        dws_user_clues(data_dt)
        data_dt += delta