
Solution
文章平均质量分 57
BabyFish13
不要急,慢慢来;控制好节奏,奋斗到底!
展开
-
Automatic SQL*LOADER(以定长方式为例)
创建存放要进行导出或导入数据的配置表(可以是一张表,也可以是导出、导入各一张表):createtableLDR_TABLE_INFO(APP_NAMEVARCHAR2(20),TABLE_NAMEVARCHAR2(30),TABLE_COMMENTVARCHAR2(200),COLUMN_IDNUMBER,COLUMN_COMMENTVARCHAR2(200),COLUMN_NAMEVARCHAR2(30),DATA_TYPE...原创 2022-04-25 14:33:51 · 434 阅读 · 0 评论 -
Jlbank_Irs_Data_Load_Solutions
1、数据卸出catspool.batsqlplusedw/edw@UAT1@spool.sqlcatspool.sqlsetechooffsetfeedbackoffsettrimspoolonsetlinesize5000setpagesize0setnewpage0setheadingoffsettermoffsettermoutoffsettimingoffsetverifyoff...原创 2022-04-25 14:27:28 · 171 阅读 · 0 评论 -
取表结构的注释和字段类型的一个方法(oracle)
在做项目的时候,很可能会要求根据现在的数据库情况写出一些项目文档,则下面的一个方法,对我们会非常有用。1、取表中字段的数据类型的SQL语句select column_name, data_type, data_length, data_type || '(' || (decode(data_type, 'VARCHAR2', data_length, 'NUMBER', data_precision)) || (decode...原创 2022-03-28 15:28:26 · 807 阅读 · 0 评论 -
配合任务迁移数仓ETL脚本按需替换方案
1、需求场景描述Etl任务迁移,需要对原etl脚本进行改造。将原实际的目标及源库名替换成参数样式。老的方式:ods.user_visit_new、dwt.dwt_user_visit要替换成的格式:源表 使用 c.from 前缀,如 ${c.from.ods}.user_visit_new目标表 使用 c.to 前缀,如: ${c.to.dwt}.dwt_user_visit2、具...原创 2019-12-12 20:33:32 · 442 阅读 · 0 评论 -
数仓中根据etl脚本查找表的上游依赖关系
1、具体脚本/Users/nisj/Documents/wptDataGit-nisj/wptData/pyScript/batchDataForWpt/getDependsFromSql.py# -*- coding=utf-8 -*-import osimport reimport datetimeimport warningsimport timeimport thread...原创 2019-11-09 13:51:12 · 1046 阅读 · 0 评论 -
Python中两List的Sql左连接实现
内联接比较容易,之前做过,用两List的关键字进行if过滤即可;左(右)连接稍微麻烦一些,但稍思考一下,还是可以满足条件的。/Users/nisj/PycharmProjects/BiDataProc/Demand/hadoopStat/SqlLeftJoin.py# -*- coding=utf-8 -*-import sysreload(sys)sys.setdefaultenc原创 2017-10-20 15:42:31 · 2210 阅读 · 0 评论 -
Python脚本进行主播招募相关数据统计的案例
脚本中主要关注点:1、从不同源中取数据(两个mysql源及Hive源)2、两大List根据关键字进行左连接其实也可以先将match_apply表中数据取到之后先插入到目标表中,然后根据关键字uid再将Hive计算好的指标数据更新到目标表中;在这里是左连接之后再进行一次性插入;并没有考虑mysql多条记录插入的效率,有需要的话可以参考以往脚本进行完善。/Users/nisj/Pycharm...原创 2017-10-20 16:52:17 · 304 阅读 · 0 评论 -
Python利用groupby模块进行Mysql分表数据的汇总统计
Mysql分表数据,一般情况下我们是把他导入到数据仓库中整合到一张表中;由于环境受限,所以考虑使用Python脚本取分表数据在Python中进行计算的形式。1、取Mysql分表进行汇总计算的Python脚本/Users/nisj/PycharmProjects/BiDataProc/love/staticFromMysqlSubmeter.py# -*- coding=utf-8 -*原创 2017-12-02 14:49:52 · 1348 阅读 · 0 评论 -
E-MapReduce上Hive创建基于oss的外部表
1、在E-MapReduce上创建基于OSS的Hive外部表样例:hive> show create table oss_share_feedback;OKCREATE EXTERNAL TABLE `oss_share_feedback`( `uid` string, `os` string, `source_id` string, `type` string,原创 2017-12-20 11:15:14 · 2019 阅读 · 0 评论 -
某live平台生产环境E-MR配置情况一览
1、集群概况Hadoop version:2.7.2Memory Total:409.59 GBVCores Total:164Active Nodes:16namenode:emr-header-1emr-header-2datanode:emr-worker-1emr-worker-2emr-worker-3emr-worker-4emr原创 2017-12-26 10:11:04 · 633 阅读 · 0 评论 -
Hadoop之MapReduce调度:通过Python进行多日期多链接地址的串行跑批统计
1、mp调度配置文件/Users/nisj/PycharmProjects/BiDataProc/hitsStaticAuto/mpConf.py#!/usr/bin/env python# encoding: utf-8UrlList = ['/event/pvp/hero/tutorial/3/info.htm?s_=sy', '/api/discovery.htm']resu原创 2017-09-11 11:18:40 · 585 阅读 · 0 评论 -
Python脚本进行用户信用评分体系计算的案例
项目的目的是根据各影响因子和权重计算出对应用户的信用分值。数据源涉及到库表(Hive&Mysql)的数据、打点的日志数据,数据分别在Hive及Mysql中装载及计算,相对有些复杂。可以借鉴的点:打点日志从oss上获取及日数数据的处理、装载;通过Python在mysql和Hive中进行数据的传输和计算;日期、月份、x天以前日期的获取;数据从hdfs上下载到本地;mysql关联原创 2017-09-25 19:36:25 · 3983 阅读 · 8 评论 -
用Python调度数据在Mysql及Hive间进行计算2例(续)-idfa与日志比对进行留存充值数据计算
在本例中,所有的函数,如取周的对应周一、周日日期,目标表建表等函数都在一个python脚本中了,没有进行比较系统的按不同文件存放。脚本要实现的功能是,根据所提供的idfa数据,计算其相应用户对应的uid在当周及接下来的三周的充值情况。/Users/nisj/PycharmProjects/BiDataProc/IdfaQuery/idfaQuery-Wangzq.py# -*- coding...原创 2017-09-25 09:30:30 · 501 阅读 · 0 评论 -
Hadoop之MapReduce调度:通过shell进行多日期的串行跑批统计
1、统计对应链接访问量的Python脚本由于业务上暂用不到reduce过程,所以只有一个mapper脚本。/Users/nisj/PycharmProjects/BiDataProc/hitsCalc3/filter_mapperOnly.py#!/usr/bin/env python# encoding: utf-8import sys# 输入为标准输入stdinfor l原创 2017-08-29 19:17:17 · 967 阅读 · 0 评论 -
Python的MapReduce调用及多输入文件的使用(统计url的点击量)
1、在日志中统计对应链接的点击量脚本由于业务上暂用不到reduce过程,所以只有一个mapper脚本。/Users/nisj/PycharmProjects/BiDataProc/hitsCalc3/filter_mapperOnly.py#!/usr/bin/env python# encoding: utf-8import sys# 输入为标准输入stdinfor lin原创 2017-08-28 10:16:34 · 2189 阅读 · 0 评论 -
用Python在Mysql与Hive间数据计算一例
1、自带粉丝的计算功能说明:从mysql中取房间号roomId,然后在Hive中计算其首播日期,将首播日期返插回到Mysql中;然后取Mysql中的roomId和首播日期,在Hive中计算主播的自带粉丝数据;最后,将自带粉丝数更新到Mysql中。/Users/nisj/PycharmProjects/BiDataProc/Demand/Cc0810/ccQuery.py# -*-原创 2017-08-15 19:13:39 · 721 阅读 · 0 评论 -
用Python调度数据在Mysql及Hive间进行计算2例
1、经济商务数据的按周计算可以借鉴之处:当前当年第几周的获取;对应周的周一和周末的日期的获取;mysql文本数据的装载。/Users/nisj/PycharmProjects/BiDataProc/IdfaQuery/ouyjxQuery.py# -*- coding=utf-8 -*-import datetimeimport osimport warningsimpor原创 2017-08-25 10:22:53 · 1047 阅读 · 2 评论 -
用Python在Mysql与Hive间数据计算一例(续)
接上文,《用Python在Mysql与Hive间数据计算一例》,发现重大问题:对应的[substr(created_time,1,10) between '{day10Start}' and'day10End']没有为day10End加{},导致其不以变量参数方式传递,与要计算的逻辑严重不符,以致自带粉丝数据不对。现将修改后的代码附上(自带粉丝取的源表略有变动)。/Users/nisj原创 2017-08-16 17:29:12 · 613 阅读 · 0 评论 -
用Python将mysql库表结构导成excel
1、将mysql库表结构导出成多个excel/Users/nisj/PycharmProjects/BiDataProc/oldPythonBak/MysqlTabStrc2Excel/mysqlTab2moreExcel.py# -*- coding=utf-8 -*-import xlwtimport MySQLdbimport warningsimport datetime原创 2017-07-25 15:28:45 · 2962 阅读 · 0 评论 -
用Python将mysql数据导出成excel
1、导出示例/Users/nisj/PycharmProjects/BiDataProc/oldPythonBak/mysqlData2excel.py# -*- coding=utf-8 -*-import xlwtimport MySQLdbimport warningsimport datetimeimport timeimport sysreload(sys)sys原创 2017-07-07 15:25:26 · 4955 阅读 · 0 评论 -
Hive数据汇总导入Mysql(Draw lessons from colleagues)
此方法中,采用datax配置文件json格式的方法,将目标表、查询sql等写入json配置中。目标表需要提前建好,数据库连接也是通过明文的方式;整个方案有一定的借鉴之处,但还是有很多东西需要改进。同时,可以参考如下两篇文章:Hive汇总统计数据自动化传输到Mysql数据库-跑批参数文本配置及提取使用-->http://blog.youkuaiyun.com/babyfish13/article/det原创 2018-01-05 11:25:29 · 580 阅读 · 0 评论 -
小量临时数据快速装载到Hive表
本身没有什么麻烦的,但就是每次用的时候都要去百度一下;以普通表和分区表两种方式举例,今记在此,方便以后使用。数据样例:hive> ! cat /home/hadoop/nisj/xx/xujp/idcard.txt;659709375 蔡明 3623261998011399991344569362 黄承林 362326199806229999722169113 马江 3623261原创 2018-02-01 16:33:10 · 1004 阅读 · 0 评论 -
Python脚本定时选择性不重复执行示例
1、执行的Python脚本/Users/nisj/PycharmProjects/BiDataProc/Demand/Cc0810/ccQuery_sum.py# -*- coding=utf-8 -*-import datetimeimport timeimport osimport warningsimport sysimport rereload(sys)sys.setdef...原创 2018-03-13 14:12:00 · 1527 阅读 · 0 评论 -
用Python和AWK结合处理Access log请求信息
本样例主要用于处理Tomcat及nginx的access访问日志请求信息,是一个初步的版本。在此基础之上,还可以进行多线程、在Hadoop上运行等优化处理,有待完善。1、示例原始access_log文件/Users/nisj/Desktop/new-demand/x-log.txt183.144.201.217 10.26.2.58|[06/Sep/2016:19:10:53 +08...原创 2016-12-02 17:35:22 · 5439 阅读 · 0 评论 -
Hive文本数据的自动装载及Oss上传下载一例
1、具体的python脚本/Users/nisj/PycharmProjects/BiDataProc/love/load2HiveAuto/txtLoad2Hive.py# -*- coding=utf-8 -*-import osimport reimport sysimport timeimport warningswarnings.filterwarnings("ign...原创 2019-06-03 09:56:23 · 663 阅读 · 0 评论 -
Hive多参数跑批python一例
1、单独查询示例with tab_live as(select room_id,pt_day,sum(unix_timestamp(updated_time)-unix_timestamp(switch_time))/60 live_minsfrom (select room_id,pt_day,string(switch_time) switch_time,string(update...原创 2019-04-18 15:02:44 · 388 阅读 · 0 评论 -
Hive整表数据分成256分表样式导出
不是由于mysql数据装载的需要,这样做实在太费时费力;即使用上32个并行,10来分钟就可以整场导出的表,要耗时1个半小时。/Users/nisj/PycharmProjects/BiDataProc/love/userLevel/HiveRunData-yicheng.py# -*- coding=utf-8 -*-import osimport timeimport datetim...原创 2018-08-08 16:43:19 · 1152 阅读 · 0 评论 -
Hive并行跑批简易一例
1、目标表建表脚本drop table if exists xxxxx_gift_record_byroom_bymonth;CREATE TABLE `xxxxx_gift_record_byroom_bymonth`( `room_id` bigint, `room_creator_uid` bigint, `gift_point` bigint)PARTITIONED B...原创 2018-06-22 19:03:56 · 1328 阅读 · 0 评论 -
用Python进行任务程序的调度(1)
一直苦于python及shell脚本的串并行总控调度问题;虽然可以通过crontab配置进行一些不太复杂的调度,但毕竟功能有限,也显得有点low;要么就是开源调度工具及收费的商用工具。一般在项目不是很庞大,但也有一点复杂性方面,在这里考虑自己写代码,实现程序编码的调度。首先,将要调度的可并行程序放在相同的目录下;调控程序根据目录下的脚本文件和设定的并行参数,进行并行调度;然后,在调度的过程中有一些...原创 2018-06-05 15:06:22 · 5472 阅读 · 0 评论 -
Python开放ETL之hive数据汇总导入到mysql方案
此文中,相当于是对【Hive数据汇总导入Mysql(Draw lessons from colleagues)】一文的整理。1、在进行代码跑批之前,需要将mysql里的目标表,按要求先建好。2、需要增减任务时,只需要在【configSql.py】增减相应的配置即可。3、采用beeline客户端进行hive数据的汇总及查询;实际上查询sql可以任意,也可以多个,只要最终返回一个带结果的数据集就可以了...原创 2018-05-09 10:56:16 · 1790 阅读 · 0 评论 -
Shell批量获取hive库中的建表语句
这里采用Shell的方法在hive库里面循环执行"show create table“获取其对应的建表语句;两个脚本,分别是两种方式,一个是"show tables"后将表列表生成文件,然后根据读取文件进行建表语句的查询;而第二种是在for条件中直接获取表的列表清单,然后查询建表语句;很明显,后一种方式简单明了。1、第一种方式/home/hadoop/nisj/xx/Yao/hiveTabMeta...原创 2018-04-04 14:34:20 · 4730 阅读 · 2 评论 -
Python批量跑Hive数据到本地目录
适用于需要跑多日数据及临时数据需求的时候;Hql代码及目录路径可以随时按需更换;为提高效率采用了并行的方式。/Users/nisj/PycharmProjects/BiDataProc/love/HiveRunData2LocalFile.py# -*- coding=utf-8 -*-import osimport datetimeimport warningsimport timei...原创 2018-04-16 10:32:08 · 1933 阅读 · 0 评论 -
Python串行及并行Hive数据跑批
以Hive汇总查询结果数据插入Mysql数据库为例,进行数据的串行及并行调度。在这里涉及到Mysql数据的批量插入,并行跑批,数据按日期倒序跑批等。为简便起见,各功能模块都在一个脚本里。1、功能脚本/Users/nisj/PycharmProjects/BiDataProc/love/HiveDataSum2Mysql-0409forzhanwei.py# -*- coding=utf-8 -*-...原创 2018-04-09 15:51:41 · 1201 阅读 · 0 评论 -
Python通过Sqoop自动化装载Mysql数据到Hive
其他类似相关参考:Python自动化拉取Mysql数据并装载到Hive(V3.0)-->https://blog.youkuaiyun.com/BabyFish13/article/details/73885033Python自动化拉取Mysql数据并装载到Hive(V2.0)-->http://blog.youkuaiyun.com/babyfish13/article/details/70792158Py...原创 2018-03-30 10:29:34 · 2957 阅读 · 0 评论 -
Python中将mysql小量数据拉入Hive计算后结果再导入Mysql模板示例
本文只是一个将Mysql里的小量表,先拉入Hive中;然后结合Hive里原已有的巨量表进行统计分析计算;最后将统计结果再导入Mysql中供查询及报表展示。仅是一个模板示例,供以后参考使用。/Users/nisj/PycharmProjects/BiDataProc/Demand/hadoopStat/anchorOperateGroup.py# -*- coding=utf-8 -*-impor...原创 2018-03-13 17:27:29 · 421 阅读 · 0 评论 -
Python获取Mysql及Hive数据计算并整合后插入到Mysql数据库
此代码通过将需要的数据分别从多个mysql数据源及hive数据源分别获取后,在python中进行整合合并,然后插入到时mysql数据库中。hive库中本有这些mysql的表,但由于只是用到了hive中的部分数据,在hive巨量数据中查询效率极低;而在mysql中进行其中一小部分的数据查询则能极大的提高查询效率。所以,代码涉及的数据源等处理相对比较复杂。数据本可以在hive中一个查询脚本跑完;也可以...原创 2018-04-16 14:08:42 · 1287 阅读 · 0 评论 -
Python获取Mysql数据并Mail(多个附件的添加)
本文是【Python获取Mysql数据并Mail-->http://blog.youkuaiyun.com/babyfish13/article/details/72878198】的继续。1、带多个附件邮件发送脚本/Users/nisj/PycharmProjects/BiDataProc/MailMysqlData/DataGetAndMailSend_moreAttachment.py# -*原创 2017-06-14 16:41:20 · 1814 阅读 · 0 评论 -
大数据环境平台仓库日常跑批整理
1、树型目录环境/home/hs/opt/dw-etl│ date.list│ dw_batch.sh│ sor-all.sh│ sor-rds.sh│ ssa-all.sh│├─bigtab_int│ init-99dianzhangitem.sh│ init-99dingdan.sh│ init-99dingd原创 2016-03-24 16:41:09 · 2396 阅读 · 0 评论 -
用Python和Shell结合进行词频统计
1、示例测试文本/Users/nisj/PycharmProjects/EsDataProc/word.txtfoo|-X-|foo|-X-|quux|-X-|iio|-X-|oo|-X-|pp|-X-|pp|-X-|oosee|-X-|you|-X-|you|-X-|again|-X-|welcome|-X-|testtest|-X-|ddd|-X-|gggg|-X-|gggacc原创 2016-11-23 11:33:08 · 945 阅读 · 0 评论 -
使用Shell进行Mysql间数据以文本形式传输及注意事项
1、程序目录结构[tgt-user@master timeline]# pwd/tgt-user/timeline[tgt-user@master timeline]# tree.├── data│?? ├── jellyfish_user.user_profile.dat│?? └── jellyfish_user.user_profile.list└── etl原创 2016-12-07 20:54:16 · 766 阅读 · 0 评论