- 博客(11)
- 资源 (6)
- 收藏
- 关注
原创 HiveQL查询变量(动态参数值)的使用
主要用hiveconf来进行变量值的获取,格式如下:变量赋值:set pt_day='2016-12-31';变量引用:${hiveconf:pt_day} --> 用在Hql里参考示例:set pt_day='2016-12-31';drop table if exists xx_new_identifier;create table xx_new_identi
2017-01-24 16:57:11 15659 1
原创 用Python将统计数据不存在的记录按维度对应指标补齐
因为接到这个需求的时候,一开始想写Sql语句直接实现,发现比较麻烦;后来想通过Mysql存储过程来处理,但以前对Oracle存储过程熟悉,MySql存储过程代码不熟悉,要使用起来有一定的学习成本;最后选择用Python控制实现。谨此以记,供以后类似需要做参考。需求描述:一般的统计对格式如:”dim1,dim2,index1,index2,date“,如果维度对应的指标不存在,则结果表中就没
2017-01-20 17:07:24 1351 1
原创 Python模块化开发组织代码程序示例
样例包含三部分代码,周的处理函数部分、业务数据处理部分及多线程跑批调度处理部分。代码按功能分类存放,有助于使代码更清晰,通过from...import的方式,使代码重复使用。另外,多线程的调用部分,有效处理了程序先后依赖及多程序串并行跑批问题,为以后相似问题的处理,提供了借鉴。1、周处理函数/Users/nisj/PycharmProjects/EsDataProc/Remain_
2017-01-16 19:14:31 2791
原创 Mysql排名功能的实现
Mysql不像Oracle那样有方便的排名函数可以直接使用,要实现排名功能要稍微费点周折。1、建表及数据初始化drop table if exists t_rank;CREATE TABLE t_rank ( pid INT(4) PRIMARY KEY AUTO_INCREMENT, NAME VARCHAR(20) NOT NULL, age INT(3), groupid
2017-01-10 14:40:46 7670
原创 Python-threadpool多线程多个参数传入示例
主要找到了两种方法,一种是将参数构造成List进行传入;还有一种是将参数构造成dict进行传入。样例代码:/Users/nisj/PycharmProjects/EsDataProc/bi-static/ThreadPool_multiPar.py# -*- coding=utf-8 -*-import threadpoolimport timedef Main_Def(par
2017-01-09 18:38:42 13514
原创 Navicat执行Sql查询超时问题
执行一段复杂的Sql,在mysql命令行下用时较长,但能查询出结果;在Navicat上到一定时长之后,直接报超时,默认30秒。经历了一段时间的查找之后,终于找到了在Navicat上可以设置的地方。右键对应的连接,选择"Edit Connection...",进入"Advanced"选项卡,设置"Socket Timeout(sec)"对应的秒数即可。因为,查找设置花费了较长时间,也
2017-01-09 15:33:26 15862 1
原创 Python取周的相关信息的几个函数
主要包括:获取指定日期对应哪一年的第几周、获取当前日期对应哪一年的第几周、获取当前日期这一周的第一天的日期、获取指定周的第一天日期。/Users/nisj/PycharmProjects/EsDataProc/bi-static/getWeekInfo.py# -*- coding=utf-8 -*-import datetimedef getYearWeek(strdate):
2017-01-06 12:32:50 6493
原创 Python控制数据(留存及支付信息)按周进行跑批处理
三个版本,最老的版本将数据从Hive上取出来,然后用Python进行处理,现在看来这显然是不合适的,放着强大的Hadoop不用,而使用单机多线程;较老版本dict手工生成代码清单进行周的控制,且是从前往后计算,主要计算过程在hadoop上;新版本充分利用了Python的datetime函数等,根据时段,自动生成日期的列表,然后进行周的控制,从后往前计算,便于代码的利用,数据运算主要在Hadoop上
2017-01-05 18:45:18 1302
原创 Python根据指定日期获取周的信息
1、获取指定日期所在的周的每一天/Users/nisj/PycharmProjects/EsDataProc/bi-static/calc_day_in_week.py# -*- coding=utf-8 -*-import datetimedef week_get(vdate): dayscount = datetime.timedelta(days=vdate.isowe
2017-01-05 12:42:30 7767 2
原创 Python获取时间范围内日期列表和周列表的函数
1、获取日期列表/Users/nisj/PycharmProjects/EsDataProc/bi-static/date_list.py# -*- coding=utf-8 -*-import datetimedef dateRange(beginDate, endDate): dates = [] dt = datetime.datetime.strptime(b
2017-01-04 13:59:40 11974
原创 Python多线程调用Hive接口的MapReduce示例
1、单线程Hive调用/Users/nisj/PycharmProjects/EsDataProc/bi-static/hive-user_appsource_detail.py# -*- coding=utf-8 -*-import warningsimport datetimeimport timeimport oswarnings.filterwarnings("igno
2017-01-03 15:54:48 1496
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人