
etl
文章平均质量分 50
etl实战
huryer
keep simple, keep stupid.
展开
-
kettle通过java步骤获取汉字首拼
/*** 获取字符串拼音的第一个字母//转为单个字符 HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();i ++) {try {} } else {} /*** 汉字转为拼音i ++) {try {} } else {} /*** 获取字符串拼音的第一个字母。原创 2023-09-06 23:05:58 · 575 阅读 · 0 评论 -
linux下启动spoon提示Could not load SWT library
linux下启动spoon提示Could not load SWT library问题描述:linux下启动spoon时提示错误# ./spoon.shJava HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0java.lang.UnsatisfiedLinkError: Could not load SWT library. Reasons:原创 2022-03-25 10:06:12 · 3122 阅读 · 1 评论 -
kettle实现企业微信发送文件
kettle实现企业微信发送文件用途通过kettle中嵌入java代码,实现企业微信发送文件。实现效果脚本总览生成记录用于模拟待上传的文件Java代码java代码参考:https://blog.youkuaiyun.com/huryer/article/details/122762053import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;import ja原创 2022-01-31 23:31:18 · 875 阅读 · 1 评论 -
MySQL配置SSL访问-ETL配置JDBC支持SSL
创建用户 SSL/TLS 选项除了基于用户名和凭据的常规身份验证之外,MySQL 还可以检查 X.509 证书属性。要为 MySQL 帐户指定 SSL/TLS 相关选项,请使用REQUIRE指定一个或多个tls_option值的 子句 。REQUIRE选项的 顺序无关紧要,但任何选项都不能指定两次。该 AND关键字是可选之间 REQUIRE选择。CREATE USER允许这些 tls_option值:NONE表示该语句命名的所有帐户都没有 SSL 或 X.509 要求。如果用户名和密码有效,则允原创 2021-11-15 10:20:51 · 1142 阅读 · 0 评论 -
通过etl脚本检测oracle数据库连通性
通过etl脚本检测oracle数据库连通性需要通过etl脚本,检测oracle数据库是否可以连通,如果可以连通,status状态输出1,否则输出0主要步骤生成记录:用于设置数据库连接参数,包括ip、数据库名称,用户名,密码;java代码:用于判断数据库是否可以连通,如果数据库连接成功,则status = 1;如果数据库连接失败,则status = 0;写日志:输出执行结果;生成记录步骤Java代码步骤详细代码import java.sql.Connection;import原创 2021-06-29 10:52:00 · 545 阅读 · 0 评论 -
mysql Public Key Retrieval is not allowed
问题描述kettle使用mysql8 作为资源库,连接时提示以下错误:错误连接数据库 [etl_emp] : org.pentaho.di.core.exception.KettleDatabaseException: Error occurred while trying to connect to the databaseError connecting to database: (using class org.gjt.mm.mysql.Driver)Public Key Retrieva原创 2021-05-18 15:22:47 · 240 阅读 · 0 评论 -
通过spoon实现将行数据转换为多列数据输出
实现目标将行数据转换为多列数据输出,实现效果如下:实现方式准备原始数据Excel输入步骤行扁平化字段选择步骤最终结果原创 2020-12-11 09:03:59 · 706 阅读 · 0 评论 -
如何在kettle的java步骤中正确使用 map(org/codehaus/janino/CompileException)
如何在kettle的java步骤中正确使用 map问题描述在kettle的java代码步骤中使用Map<String, String>时,如果直接调用map.get(key)后赋值给stirng对象,出现如下报错:一个未预期的错误发生在Spoon: probable cause:在停止Spoon前,请先关闭其它spoon窗口! org/codehaus/janino/CompileExceptionjava.lang.NoClassDefFoundError: org/codehaus原创 2020-06-23 13:30:52 · 3322 阅读 · 1 评论 -
kettle如何3秒内写入100万条数据到Redis
kettle如何3秒内写入100万条数据到Redis实现结果先来看下实现结果,如下图,本地写入100万数据,耗时2.3s,每秒44万。接下来说说如何实现:数据存储结构样例:生成记录用于生成测试数据:增加序列用于生成redis的key值Json输出用于将原始数据封装为一个json,存储到redis中:json输出:字段页签,用于说明json中包含的字段信息:Java 写入redis缓存主要使用到了Pipeline类,实现批量提交:详细代码如下:// etl-java-原创 2020-06-21 19:27:05 · 5710 阅读 · 4 评论 -
etl-java扩展方式对比
etl-java扩展方式对比java插件嵌入java代码实现流程插件将功能实现逻辑封装为一个整体来对外提供服务;将业务逻辑中的核心功能封装为一个jar包,对外提供服务;实现方式需要实现以下内容,包括: 1、对话框:继承BaseStepDialog,用于设置插件参数信息; 2、元数据:继承BaseStepMeta,对话框控件描述信息; 3、数据处理:继承BaseStep,实现数据流输入、输出处理,核心业务逻辑等内容需要实现核心业务逻辑调用方式通过图形方式配置插件需原创 2020-05-30 16:19:52 · 348 阅读 · 0 评论 -
kettle连接oracle19c的3种方式
kettle如何连接oracle19c软件配置参数软件版本值数据库版本Oracle19c数据库驱动ojdbc8.jar,orai18n.jarJDK版本JDK1.8.0_162etl工具Spoon5.4数据库配置数据库类型容器数据库可插拔数据库数据库类型编码CDBPDB数据库名称orcld1用户名systemu1密码123456123456需求描述最近在做数据库迁移,需要将数据库版本从O原创 2020-05-28 21:42:29 · 9995 阅读 · 3 评论 -
难以解释的数据异常-回归均值效应
在分析数据的时候,总有那些一些数据异常无法找到适当的理由进行合理解释,也许可以换个角度来看待这些异常。为什么明明数据发生较大的起伏波动,我们绞尽脑汁还是无法找到合理的原因,这些到底是怎么样的异常,是不是存在一些共性,或者这些异常是不是我们平常所说的异常,抑或是应该归到其他类别,不妨先叫它们“难以解释的异常”。近段时间在读《思考,快与慢》这本书,作者卡尼曼的观点似乎可以给我们一些答案。卡尼曼是心理...转载 2020-02-22 09:17:54 · 4274 阅读 · 0 评论 -
数据质量管理—3、数据修正(Data Correcting)
前面的两篇文章——分析的前提—数据质量1和分析的前提—数据质量2分别介绍了通过Data Profiling的方法获取数据的统计信息,并使用Data Auditing来评估数据是否存在质量问题,数据的质量问题可以通过完整性、准确性和一致性三个方面进行审核。这篇文章介绍最后一块内容——数据修正(Data Correcting)。数据审核帮助我们发现数据中存在的问题,而这些问题有时候可以利用一些方法就...转载 2020-02-21 21:56:26 · 7145 阅读 · 0 评论 -
数据质量管理—2、数据审核(Data Auditing)
前一篇文章介绍了数据质量的一些基本概念,数据质量控制作为数据仓库的基础环节,是保障上层数据应用的基础。数据质量保证主要包括数据概要分析(Data Profiling)、数据审核(Data Auditing)和数据修正(Data Correcting)三个部分,前一篇文章介绍了Data Profiling的相关内容,从Data Profiling的过程中获得了数据的概要统计信息,所以下面就要用这些数...转载 2020-02-21 21:55:34 · 9001 阅读 · 0 评论 -
数据质量管理—1、数据概要(Data Profiling)
数据质量(Data Quality)是数据分析结论有效性和准确性的基础也是最重要的前提和保障。数据质量保证(Data Quality Assurance)是数据仓库架构中的重要环节,也是ETL的重要组成部分。我们通常通过数据清洗(Data cleansing)来过滤脏数据,保证底层数据的有效性和准确性,数据清洗一般是数据进入数据仓库的前置环节,一般来说数据一旦进入数据仓库,那么必须保证这些数据都...转载 2020-02-21 21:54:34 · 4910 阅读 · 0 评论 -
kettle 通过java实现正态分布密度函数调用
kettle版本kettle 5.4需求描述excel中可以通过正态分布函数NORMDIST生成给定值的正态分布值,如下所示:本文讲解如何通过kettle实现excel的NORMDIST函数。实现效果实现方式1、生成记录模拟数据输入2、Java代码使用注意:如果直接将计算的double值输出,kettle默认会截断为小数点后1位,所以这里输出为字符串,保留小数点后5位。...原创 2020-02-20 22:52:13 · 683 阅读 · 0 评论 -
kettle-如何在作业job中使用JavaScript脚本
如何在作业job中使用JavaScript脚本描述(Description)使用JavaScript作业条目来计算布尔表达式。结果可用于确定下一步将要执行的步骤。您可以使用函数,过程调用,“与”,“与”号,“或”,“等式”等。Javascript作业条目会评估并返回true或false。评估(Evaluation)JavaScript作业条目的结果为true或false。换句话说,它需要以...翻译 2020-02-02 23:15:57 · 4278 阅读 · 0 评论 -
kettle-如何将作业(job)中设置的参数值,传递到子转换(ktr)脚本
用途如何将作业(job)中设置的参数值,传递到子转换(ktr)脚本1、作业总体流程1.1、作业命名参数1.2、设置变量-步骤/* 如何将作业(job)中设置的参数值,传递到子转换(ktr)脚本功能:获取或设置变量作用域:仅当前作业(job)有效parent_job.setVariableparent_job.getVariable功能:获取或设置参数变量作用域:作业(...原创 2020-02-02 22:31:28 · 11418 阅读 · 0 评论 -
kettle-如何使用JavaScript步骤
描述这是“ JavaScript值 ”步骤的修改版本,可提供更好的性能和更轻松的基于表达式的用户界面,以构建JavaScript表达式。此步骤还允许您为每个步骤创建多个脚本。另请参阅“将JavaScript从2.5.x迁移到3.0.0 ”以获取更多内部细节。您本地的“ data-integration / samples / transformations”文件夹中也有很多示例。请记住,...原创 2020-01-31 15:35:23 · 6679 阅读 · 0 评论 -
kettle-从rocketmq消费消息
用途本文演示如何通过kettle从rocketmq消费消息。技术kettle5.4rocketmq-4.6.0整体流程获取消息源码(get mq message)import java.io.UnsupportedEncodingException;import java.util.List;import java.util.concurrent.TimeUnit;im...原创 2020-01-31 01:35:43 · 2394 阅读 · 1 评论 -
kettle-如何在kettle中编写java代码
User Defined Java ClassTable of contentsYou can use the User Defined Java Class step to enter your own Java class to drive the functionality of a complete step. You can program your own plugin into ...翻译 2020-01-30 16:01:44 · 10132 阅读 · 0 评论 -
打造实时数据集成平台——DataPipeline基于Kafka Connect的应用实践
导读:传统ETL方案让企业难以承受数据集成之重,基于Kafka Connect构建的新型实时数据集成平台被寄予厚望。在4月21日的Kafka Beijing Meetup第四场活动上,DataPipeline CTO陈肃分享了DataPipeline是如何基于Kafka Connect框架构建实时数据集成平台的应用实践。以下内容是基于现场录音整理的文字,供大家参考。什么是数据集成?最简单的应...转载 2020-01-30 01:24:51 · 1446 阅读 · 0 评论 -
从ETL到ELT,AI时代数据集成的问题与解决方案
引言:2018年7月25日,DataPipeline CTO陈肃在第一期公开课上作了题为《从ETL到ELT,AI时代数据集成的问题与解决方案》的分享,本文根据陈肃分享内容整理而成。大家好!很高兴今天有机会和大家分享一些数据集成方面的看法和应用经验。先自我介绍一下。我叫陈肃,博士毕业于中国科学院大学,数据挖掘研究方向。现在北京数见科技(DataPipeline)任 CTO。之前在中国移动研究院任职...转载 2020-01-29 23:38:01 · 1466 阅读 · 0 评论 -
构建批流一体数据融合平台的一致性语义保证
首先,本文将从数据融合角度,谈一下DataPipeline对批流一体架构的看法,以及如何设计和使用一个基础框架。其次,数据的一致性是进行数据融合时最基础的问题。如果数据无法实现一致,即使同步再快,支持的功能再丰富,都没有意义。另外,DataPipeline目前使用的基础框架为Kafka Connect。为实现一致性的语义保证,我们做了一些额外工作,希望对大家有一定的参考意义。最后,会提一些我们...转载 2020-01-29 20:31:50 · 929 阅读 · 0 评论 -
选用开源ETL工具应注意的问题
选用开源ETL工具应注意的问题Kettle是一个Java编写的ETL工具,从4.2版本开始遵守Apache Licence 2.0协议,最新稳定版为7.1。Kettle在2006年初加入了开源的BI公司Pentaho, 正式命名为:Pentaho Data Integeration,简称“PDI”。自2017年9月20日起,Pentaho已经被合并于日本日立集团下的新公司: Hitachi Va...转载 2020-01-29 11:28:51 · 280 阅读 · 0 评论 -
六种 主流ETL 工具的比较(DataPipeline,Kettle,Talend,Informatica,Datax ,Oracle Goldengate)
六种 主流ETL 工具的比较(DataPipeline,Kettle,Talend,Informatica,Datax ,Oracle Goldengate)比较维度\产品DataPipelinekettleOracle GoldengateinformaticatalendDataX设计及架构适用场景主要用于各类数据融合、数据交换场景,专为超大数据量、高度复...转载 2020-01-29 11:23:51 · 5204 阅读 · 3 评论 -
构建实时数据集成平台时,在技术选型上的考量点
随着企业应用复杂性的上升和微服务架构的流行,数据正变得越来越以应用为中心。服务之间仅在必要时以接口或者消息队列方式进行数据交互,从而避免了构建单一数据库集群来支撑不断增长的业务需要。以应用为中心的数据持久化架构,在带来可伸缩性好处的同时,也给数据的融合计算带来了障碍。由于数据散落在不同的数据库、消息队列、文件系统中,计算平台如果直接访问这些数据,会遇到可访问性和数据传输延迟等问题。在一些场景下...转载 2020-01-29 10:52:51 · 591 阅读 · 0 评论 -
kettle发送消息到rocketmq
用途本文演示如何通过kettle向rocketmq发送消息。技术kettle5.4rocketmq-4.6.0整体流程生成记录用于模拟业务数据:增加序列用于模拟主键:Java代码用途:拼接业务数据,生成消息体,本例中仅拼接:id+name;k1为输出消息发送的状态。截图:源码:import java.io.UnsupportedEncodingExc...原创 2020-01-28 01:05:07 · 2650 阅读 · 2 评论 -
kettle+jsoup解析网页url链接
如何使用kettle解析网页url链接用途本文介绍如何使用kettle,遍历web页面中的url链接,并输出到文本文档。依赖jar包jsoup-1.11.3.jar转换文件步骤生成记录此步骤用于设置需要访问的web地址,以sina为例:JavaScript代码源码如下:var Jsoup = org.jsoup.Jsoup;var Document = org.jsou...原创 2020-01-23 22:11:20 · 1695 阅读 · 1 评论 -
kettle4.1 连接 mysql8 库异常:org.gjt.mm.mysql.Driver
问题:kettle4.1 连接 mysql8 库异常:org.gjt.mm.mysql.Driverspoon4.1:初始mysql驱动版本:mysql-connector-java-3.1.14-bin.jar由于使用数据库 mysql 8.0.16,将spoon驱动版本更新为:mysql-connector-java-8.0.16.jar连接数据库时,提示错误:Error occure...原创 2019-06-03 12:06:39 · 5106 阅读 · 2 评论 -
kettle spoon shell批处理脚本模板
经常使用kettle进行etl开发,总结dos命令脚本如下,执行时,仅需替换运行参数即可原创 2016-02-02 13:58:58 · 1199 阅读 · 0 评论 -
kettle solr plugin
kettle solr plugin项目概述:基于kettle 4.1,solr 7.1 实现将数据写入到solr core的功能;项目部署:1、使用maven build->package ,生成 solr_plugin-0.0.1-SNAPSHOT.jar2、在kettle目录 plugins\steps 下,新建 solr_plugin 目录3、将src/main/resources下的plu原创 2017-11-20 13:26:39 · 1412 阅读 · 1 评论 -
kettle pentaho log4j 日志记录
kettle pentaho log4j 日志记录版本:kettle 4.1需求描述:使用java集成kettle插件,执行脚本时,控制台可以显示kettle和调用类的日志,但是日志文件却只能显示调用类的日志,kettle日志不显示。需求分析:分析发现 kettle-engine.jar包中有一个log4j.xml,其中仅包含CONSOLE 这一个appender; 提取lo...原创 2018-04-11 14:12:39 · 3272 阅读 · 0 评论 -
Kettle-SQL算法分析
概述因工作需要,经常使用kettle进行数据采集,使用数据库作为etl资源库,存储各种sql算法,然后通过java调度程序,定时执行etl脚本。现有各类sql算法已达到上千个,kettle目前仅提供根据脚本名称,描述信息进行脚本检索的方式,当需要根据表名,关键字等查找sql算法时,kettle工具不支持;此时,需要分析etl资源库逻辑结构,编写sql查询相关算法,手工实现;由于etl资源库被检...原创 2019-05-02 02:50:17 · 813 阅读 · 0 评论 -
kettle4.1 资源库导入时,提示错误:unknown protocol: c
问题:kettle4.1 资源库导入时,提示错误:unknown protocol: cjava.net.MalformedURLException: unknown protocol: cat java.net.URL.(URL.java:600)at java.net.URL.(URL.java:490)at java.net.URL.(URL.java:439)at org.apa...原创 2019-06-03 12:10:30 · 1124 阅读 · 0 评论 -
kettle4.1调度服务连接 mysql8 数据库异常 Unknown initial character set index '255' received from server
问题:kettle4.1调度服务连接 mysql8 数据库异常Caused by: org.pentaho.di.core.exception.KettleDatabaseException:Error occured while trying to connect to the databaseError connecting to database: (using class org.g...原创 2019-06-03 12:14:00 · 1357 阅读 · 2 评论 -
spoon4.1访问mysq8数据库时提示异常useSSL
问题:spoon4.1访问mysq8数据库时提示异常useSSLspoon4.1使用mysql8作为资源库,每次连接资源库时,总是提示如下warning:Sat Jun 01 21:41:07 CST 2019 WARN: Establishing SSL connection without server’s identity verification is not recommended....原创 2019-06-11 16:01:45 · 1355 阅读 · 0 评论 -
kettle 4.1 与 5.4 二次开发的日志记录方式
kettle 4.1 与 5.4 二次开发的日志记录方式log4j版本:log4j-1.2.17.jarkettle 4.1 日志记录问题描述:因 kettle-engine.jar 包中集成 log4j.xml文件,log4j默认加载xml配置文件;此log4j.xml文件仅提供控制台输出配置,默认未提供文件输出配置;如果在classpath中添加log4j.properties文件...原创 2019-07-09 09:51:37 · 959 阅读 · 0 评论 -
Kettle5.4调用Redis
概述Redis作为一个开源免费,高性能的kv数据库,官方称号称能够达到10w+的读写速度;本文讲解Redis如何与kettle结合,看看能够擦出什么火花~~Redis版本:3.2.100Kett版本:5.41、启动redis-serverredis-server redis.windows.conf2、写入测试数据:使用redis命令行工具写入一条测试数据:Redis-cli....原创 2019-08-07 23:02:37 · 4225 阅读 · 0 评论 -
kettle 5.4连接mysql8资源库错误Public Key Retrieval is not allowed
kettle版本:5.4mysql版本:8.0出错信息:错误连接数据库 [test] : org.pentaho.di.core.exception.KettleDatabaseException: Error occurred while trying to connect to the databaseError connecting to database: (using cla...原创 2019-08-27 23:44:34 · 659 阅读 · 0 评论