使用Kettle进行数据挖掘
客服部CRM系统的部分数据要同步BDP云端,为了服务器安全,账号密码不被任何第三方获取,部署中间服务器、中间库,抽取CRM的数据,然后再同步到bdp云端库中。
ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程)。
Kettle作为Java编写的ETL工具,支持图形化的GUI设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面有着比较稳定的表现,其中最主要的我们通过熟练的应用它,减少了非常多的研发工作量,提高了我们的工作效率。
环境要求:本地部署有java环境(JDK1.5或以上版本,怎么部署java环境我这里就不描述了,详情可以自己找度娘)。
首先下载kettle文件,Kettle可以在http://kettle.pentaho.org/网站下载, 解压kettle到D盘
进入d:/kettle/data-integration目录,打开spoon.bat文件,打开界面如图:
资源库连接界面,是把创建的转换和工作保存到资源库中,现在不需要,直接关闭就可以。
1、Transaction
我们首先创建转换,双击上面的转换,kettle有个好处,所有的操作都可以像拖拽流程图一样,里面具体的项目我这边不做描述了,可以参照kettle操作手册。
1.1创建DB连接,客户部的crm系统是基于yii框架开发的,开发语言为php,数据库为mysql,这里我就不使用真实服务器作为案例了,涉及到公司的服务器信息,还是保密的好。
创建db连接local1(源数据库),local2(目标数据库).
在这里提示一下,抽取的数据有日期类型(date、datetime等),在Mysql数据库中使用DATETIME类型来存储时间,使用JDBC中读取这个字段的时候,应该使用 ResultSet.getTimestamp(),这样会得到一个java.sql.Timestamp类型的数据。在这里既不能使用 ResultSet.getDate(),也不能使用ResultSet.getTime(),因为前者不包括time数据,后者不包括date数据。
但是在使用ResultSet.getTimestamp()时也不是完全安全的,例如,当数据库中的TIMESTAMP类型的字段值为 '0000-00-00 00:00:00'时,使用此方法进行读取,会抛出异常:Cannot convert value '0000-00-00 00:00:00' from column 1 to TIMESTAMP,这是因为JDBC不能将'0000-00-00 00:00:00'转化为一个为一个java.sql.Timestamp,在Java中,想创建一个java.util.Date,使其值为 '0000-00-00'也是不可能的,最古老的日期应该是'0001-01-01 00:00:00'。
解决方案是在数据库连接位置添加zeroDateTimeBehavior=convertToNull
1.2创建表输入,获得要抽出的数据
1.3创建表数据,将抽出的数据填充到目标数据库的表中
1.4建立执行顺序
按住shift按键,由表输入指向表数据
这样数据抽取就完成了,保存转换,名称为trans1,下一步我们设置定时执行转换。
2、Job
关闭trans1,创建job
保存为job1.kjb
3、Kitchen.bat执行Job
4、开机启动bat调用kitchen.bat调用job
相关推荐
Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。 此手册帮助大家更好的学习此款软件
kettle中文使用介绍
ETL工具,不同数据源之间同步
Kettle最早是一个开源的ETL工具,作为一个端对端的数据集成平台,可以对多种数据源进行抽取(Extraction)、加载(Loading)、数据落湖(Data Lake Injection...并支持多维联机分析处理(OLAP)和数据挖掘(Data mining)
ETL工具--kettle资源库表结构说明,有比较详尽的中文注释,方便二次开发使用 excel格式,示例如下: 表名 表注释 字段名 字段注释 字段类型 是否可为NULL r_database 数据库连接 NAME 数据库连接名称 varchar(255) ...
PDI/Kettle数仓技术PDI/Kettle开源免费的ETL推送工具PDI/Kettle数据清洗PDI/Kettle数据抽取PDI/Kettle数据挖掘PDI/Kettle案例实战PDI/Kettle技巧PDI/Kettle9.1版本PDI/Kettle通用PDI/Kettle水壶技术适合人群: ...
适应人群:想快速熟悉Kettle或者ETL过程的数据分析人员、数据库工程师以及对数据挖掘感兴趣的人士。视频介绍:文章介绍: 的专栏ETL-Kettle目录详解:1 KettleTrans 是Kettle转换和作业的脚本2 kettlexp.sql 是数据库...
WEKA使用指南 中文版,数据挖掘不错的软件
2、研究大数据领域前沿数据挖掘技术,并引入相应技术在数据中心的使用; 3、进行大数据系统框架设计、模型算法开发; 4、负责大型数据挖掘项目方案制定、项目实施落地及优化等 ; 5、开展数据爬取、聚类分析 舆情分析...
它是一个基于java平台的商业智能(Business Intelligence,BI)套件,之所以说是套件是因为它包括一个web server平台和几个工具软件:报表,分析,图表,数据集成,数据挖掘等,可以说包括了商务智能的方方面面。
蜂鸟数据分析平台使用Hadoop,Hive,Hbase,Kylin,Kettle,Superset等技术实现数据建模,自定义ETL操作,多维数据分析以及数据可视化的功能。 数据分析 数据分析的三重境界: 1.统计计数 2.多维分析 3.机器学习 ...
Flink 实时计算框架 Mahout 数据挖掘工具 Kafka 基于消息订阅的高速数据总线 Druid 多维数据分析工具 Pig 一个编程工具 Storm 实时计算工具 Oozie 工作流管理 Tez 应用处理框架 Zookeeper 分布式高可用工具 sentry ...
通过统一的UI,类似于工作流的图形拖放开发体验可满足数据应用程序开发的整个生命周期,包括数据导入,脱敏清理,数据分析,数据挖掘,质量检查,可视化,计划到数据输出应用程序等。 。 借助Linkis的连接,可重用...
|- day3视频.zip |- day2视频.zip |- Day03:数据可视化分析平台FineBI资料.zip |- Day02:可视化ETL工具Kettle资料.zip |- day01视频.zip |- Day01:数据库管理系统MySQL资料.zip