设为首页
优惠IDC
收藏本站
六狼博客
六狼论坛
开启辅助访问
切换到窄版
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
只需一步,快速开始
快捷导航
门户
首页
BBS
云计算
大数据
手机
移动开发android,ios,windows phone,windows mobile
编程
编程技术java,php,python,delphi,ruby,c,c++
前端
WEB前端htmlcss,javascript,jquery,html5
数据库
数据库开发Access,mysql,oracle,sql server,MongoDB
系统
操作系统windows,linux,unix,os,RedHat,tomcat
架构
项目管理
软件设计,架构设计,面向对象,设计模式,项目管理
企业
服务
运维实战
神马
搜索
搜索
热搜:
php
java
python
ruby
hadoop
sphinx
solr
ios
android
windows
centos
本版
帖子
用户
六狼论坛
»
首页
›
数据库开发
›
DB2
›
发一个我写的ETL(BI)工具perletl开源项目
返回列表
查看:
72
|
回复:
0
发一个我写的ETL(BI)工具perletl开源项目
[复制链接]
shiren1118
shiren1118
当前离线
积分
43
窥视卡
雷达卡
升级
86%
当前用户组为
童生
当前积分为
43
, 升到下一级还需要 7 点。
9
主题
9
主题
9
主题
童生
童生, 积分 43, 距离下一级还需 7 积分
童生, 积分 43, 距离下一级还需 7 积分
积分
43
发消息
楼主
|
发表于 2013-1-13 18:35:52
|
显示全部楼层
|
阅读模式
BI--商务智能
DW--数据仓库
一定是未来10年的重头戏。我们知道现在企业级应用越来越多,数据量自然越来越大,尤其以电信,银行,erp,电子商务,社交网络等非常明显。以移动为例,每天n个T的话单数据,以校内网为例,它现在成立了一个数据仓库部门,在招人,使用hive数据库,比如做营销的北京新华信,比如淘宝~~~~~~~业界也是,比如teredata公司推出了pb级别的数据仓库,1pb=1024T,大家可以想象一下pb是个什么概念
数据仓库是面向主题,保存的是历史数据,它不需要事务处理,它需要进行多维分析,也就是说一旦数据进入到数据仓库,它就基本不会改变了
那么它是怎么进入到数据仓库的呢?
答案是ETL(抽取,转换,加载),当然etl的范畴里也包含数据清洗。
this is a pm for ETL,now the first version support DB2,in future,maybe add mysql,Oracle etc
这是我用perl写的perl模块,主要是通过perl操作DB2。内置了很多使用功能,是ETL的好帮手
本模块对容错,事物,连接方式都进行了优化,尤其擅长对db2的各种操作
实用功能:如定时执行任务······
Google code上
项目主页:http://code.google.com/p/perletl/
可以用svn检出,地址:svn checkout http://perletl.googlecode.com/svn/trunk/ perletl-read-only
如不熟悉svn,自行搜索tortoise svn
<hr>
perl连接DB2方式1:DBI::DBD
1. 1组成部分
-getDbHandler 同DBconnect(),建立并获取数据库连接
-PrepareExecuteSql? 预编译SQL
-TransRollback? 出错事务回滚
-disconnect 与DBconnect()相反,销毁数据库连接
2. 2执行部分
-executeSQL 执行完SQL要我们手动关闭连接,用于处理多行SQL
-executeOnceSQL 执行完SQL会自动关闭连接。
-getSelect 获取结果集,然后自己写while进行处理。(内部无日志版getStatement)
-getAllCount 获得表中记录总数,参数是表名
-getCountBySQL 通过SQL获得表中记录总数,参数是SQL,如“select count(0) from mk_vsdm.a”返回的是数组的第一个,所以不要select多个字段
-dropTables 删除表,如果存在DBI::DBD连接,使用它,没有就用db2cmd删除。可以容错。参数是模式名+表名组成的多个字符串数组,参数可以是1个,也可以是多个
-isDb2TableExist 检测表名是否存在
perl连接DB2方式2:
-run_db2cmd_main 首先会调用setUserAndPasswd获取用户名密码,然后就可以执行SQL
工具方法:
-run_cmd 调用bat文件
-mylog 普通日志打印
-mySubLog 方法前日志打印,以+号和-号拼成的
-myTabLog 在mylog日志前多一个tab
-myStatusLog 执行状态日志打印,在myTabLog基础上,外加3个*号
日期 :
-createDir 创建相对路径
TODO :支持多个connection,很简单写一个newConnection方法,在executeSQL中加connection参数。
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2008-2020
六狼论坛
(https://it.6wolf.com) 版权所有 All Rights Reserved.
Powered by
Discuz!
X3.4
京ICP备14020293号-2
本网站内容均收集于互联网,如有问题请联系
QQ:389897944
予以删除
快速回复
返回顶部
返回列表