Hive汇总统计数据自动化传输到Mysql数据库-跑批参数文本配置及提取使用
2017-06-13 17:23
471 查看
参照:Hive汇总统计数据自动化传输到Mysql数据库--->http://blog.csdn.net/babyfish13/article/details/72701512
本文是对【Hive汇总统计数据自动化传输到Mysql数据库】一文的补充。
1、参数文件配置及示例
/Users/nisj/Desktop/honey_report/BatchParConfig.txt
2、配置参数的提取和使用
/Users/nisj/Desktop/honey_report/BatchParGet.py
3、有关说明
这里的配置文件每一个配置以【ConfigName = '{ConfigName}'】开始,以【Config[{ConfigName}] is finished!】结尾,取配置文件的Python脚本只取两者之间的内容。
对于srcSelectText的sql多行的情况,需要在每一个的行尾用【 <-->】以标识。
此处,每一个配置主要有四项内容,srcSelectText, mysqlConfig, targetTabName, targetTabNameDesc;后期可根据需要增改。
本文是对【Hive汇总统计数据自动化传输到Mysql数据库】一文的补充。
1、参数文件配置及示例
/Users/nisj/Desktop/honey_report/BatchParConfig.txt
# BatchParConfig file ---------------------- # 测试表1 ConfigName = 'user_profile' srcSelectText = """select uid,regexp_replace(nickname,'\t','') nickname,avatar,gender,source,state from xxx_user_profile limit 10000;""" mysqlConfig ='targetMysqlConfig_funnyai_data' targetTabName = 'xxxxxx_test_0523' targetTabNameDesc = '测试用表' Config[user_profile] is finished! # 测试表2 ConfigName = 'payinfo' srcSelectText = """select a1.nickname,a1.room_id,a1.uid,a1.pt_day,count(today_add) today_subscriber, sum(today_add) today_subscriber_new_user,sum(case when a1.today_add=1 then a2.message_cnt else null end) message_send_in_thisRoom,sum(case when a1.today_add=1 then amount else 0 end) pay_amount <--> from xx0522_newadd_user a1 <--> left join (select roomid,uid,pt_day,count(*) message_cnt from oss_chushou_message_send where pt_day between '2017-05-15' and '2017-05-21' group by roomid,uid,pt_day) a2 on a1.room_id=int(a2.roomid) and a1.view_uid=int(a2.uid) and a1.pt_day=a2.pt_day <--> left join (select uid,pt_day,sum(amount) amount from oss_pay_info where pt_day between '2017-05-15' and '2017-05-21' group by uid,pt_day) a3 on a1.view_uid=int(a3.uid) and a1.pt_day=a3.pt_day <--> group by a1.nickname,a1.room_id,a1.uid,a1.pt_day;""" <--> mysqlConfig = 'targetMysqlConfig_funnyai_data' targetTabName = 'xxxxxx_test_0608' targetTabNameDesc = '测试用表2' Config[payinfo] is finished!
2、配置参数的提取和使用
/Users/nisj/Desktop/honey_report/BatchParGet.py
#!/usr/bin/env python # encoding: utf-8 def ParGet(ConfigName): with open("BatchParConfig.txt") as ConfigFile: ConfigFileList = [] for ConfigLine in ConfigFile: ConfigFileList.append(ConfigLine.replace('\n', '')) ConfigFileList_indexStart = ConfigFileList.index('ConfigName = \'{ConfigName}\''.format(ConfigName=ConfigName)) ConfigFileList_indexEnd = ConfigFileList.index( 'Config[{ConfigName}] is finished!'.format(ConfigName=ConfigName)) # print ConfigFileList_indexStart, ConfigFileList_indexEnd # print ConfigFileList[ConfigFileList_indexStart:ConfigFileList_indexEnd] srcSelectText = mysqlConfig = targetTabName = targetTabNameDesc = '' srcSelectCommand = '' for ConfigFileList_index in range(ConfigFileList_indexStart, ConfigFileList_indexEnd): if ' <-->' in ConfigFileList[ConfigFileList_index]: srcSelectCommand = srcSelectCommand + str(ConfigFileList[ConfigFileList_index]).replace(' <-->', ' ') else: exec (ConfigFileList[ConfigFileList_index]) exec (srcSelectCommand) return srcSelectText, mysqlConfig, targetTabName, targetTabNameDesc print ParGet(ConfigName='payinfo')
3、有关说明
这里的配置文件每一个配置以【ConfigName = '{ConfigName}'】开始,以【Config[{ConfigName}] is finished!】结尾,取配置文件的Python脚本只取两者之间的内容。
对于srcSelectText的sql多行的情况,需要在每一个的行尾用【 <-->】以标识。
此处,每一个配置主要有四项内容,srcSelectText, mysqlConfig, targetTabName, targetTabNameDesc;后期可根据需要增改。
相关文章推荐
- Hive汇总统计数据自动化传输到Mysql数据库
- 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientSc
- 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEvent
- 使用sqoop将hive中的表数据导入到mysql数据库表中,错误解决
- 将Hive统计分析结果导入到MySQL数据库表中(三)——使用Hive UDF或GenericUDF
- jplayer中动态添加列表曲目(js提取request中的list数据作为js参数使用)
- 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEvent
- 使用XML作为项目的配置文件使用,并解析之,获得数据作为链接数据库的参数
- 网站用户行为数据统计与分析之六:elasticsearch的配置和使用
- 使用loadrunner11配置参数时,从oracle数据库中获取数据的方法
- 将Hive统计分析结果导入到MySQL数据库表中(二)——使用Hive和MySQL JDBC驱动
- ExtJS的使用方法汇总(7)——数据存储与传输
- 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterF
- ExtJS的使用方法汇总7——数据存储与传输
- android平台上使用MINA进行数据传输之异常汇总
- 回发或回调参数无效。在配置中使用 或在页面中使用 启用了事件验证。出于安全目的,此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的,则使用 ClientScriptManager.RegisterForEventValidation 方法来注册回发或回调数据以进行验证。
- (7-2)hive参数配置使用
- 使用XML作为项目的配置文件使用,并解析之,获得数据作为链接数据库的参数
- 使用JMeter进行一次简单的带json数据的post请求测试,json可配置参数
- hibernate使用配置文件创建联合主键往MySQL数据库插入数据