1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- #!/usr/bin/env python
- #coding=utf-8
- """ad_television表数据处理
- """
- import sys
- from fty_util.common import Mysql
- reload(sys)
- sys.setdefaultencoding('utf8')
- """
- 从yxb.ad_television_(2010,2011,2012,2013,2014,2015,2016)
- yxb.ad_rating_(2010,2011,2012,2013,2014,2015,2016)
- 提取数据插入到odl.ad_television表中,作为数据分析来源数据
- """
- conn = Mysql.createOfflineConn()
- sql_comment = """
- truncate table odl.ad_television
- """
- sql = """
- truncate table odl.ad_television
- """
- try:
- Mysql.execute(sql, conn=conn)
- print '清空odl.ad_television表成功'
- except Exception, e:
- print '清空odl.ad_television表出错'
- for year in range(2010, 2017):
- m = 0
- n = 50000
- sql_count = """
- select count(id) from yxb.ad_television_%s
- """
- sql_count = sql_count % (year)
- count = 0
- try:
- count = Mysql.getOne(sql_count, conn=conn)[0]
- except Exception, e:
- print e
- pass
- # 每年数据循环导入
- while m <= count + n:
- sql = """
- insert into odl.ad_television (television_id, tv_id, tv_name, epi_num, host, channel, tv_date, weekday, start_time, end_time, \
- theater_attribute, property, is_repeat, city, year, area, audience_num, audience_rating, avg_num, avg_rating, \
- market_rating, avg_fans, avg_view_time) \
- select aty.id, atl.id, aty.tv_name, aty.epi_num, aty.host, aty.channel, aty.tv_date, aty.weekday, aty.start_time, aty.end_time, aty.theater_attribute, \
- aty.property, aty.is_repeat, aty.city, %s, \
- ary.area, ary.audience_num, ary.audience_rating, ary.avg_num, ary.avg_rating, ary.market_rating, ary.avg_fans, ary.avg_view_time \
- from yxb.ad_television_%s aty \
- left join yxb.ad_rating_%s ary on ary.tv_id = aty.id and ary.area like 'CSM5%%'
- left join yxb.ad_tv_lib atl on atl.tv_name = aty.tv_name
- limit %s, %s
- """
- sql = sql % (year, year, year, m, n)
- print sql
- Mysql.execute(sql, conn=conn)
- m += n
- Mysql.close(conn)
|