自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(100)
  • 资源 (17)
  • 收藏
  • 关注

原创 kettle从入门到精通 第七十七课 ETL之kettle kettle执行存储过程,接收数据集

场景:kettle调用存储过程,存储过程中通过select * from table 方式返回结果集,kettle接收结果集。2、创建一个只有入参的存储过程,脚本中通过select * from t1 where id=pId;表输入步骤sql填写call sp_without_param2("1"),保存&点击运行按钮,数据集正常打印。使用表输入步骤单独获取out参数,sql为select @outputParam;1、创建一个无参存储过程,脚本中通过select * from t1 返回数据集。

2024-07-17 20:40:14 158

原创 kettle从入门到精通 第七十六课 ETL之kettle kettle连接hive教程

1、群里有小伙伴询问kettle连接hive的demo,今天抽点时间整理下。1)kettle中的lib目录下放hive驱动jar,这里我使用的是kyuubi-hive-jdbc-shaded-1.9.0.jar。6、删除kyuubi-hive-jdbc-shaded-1.9.0.jar,重新运行,出现找不到驱动jar错误,如下图所示。2、下载kyuubi-hive-jdbc-shaded-1.9.0.jar,放到lib目录下面,3、设置hive连接参数,我这里只设置了ip地址、数据库名称、端口信息。

2024-07-17 10:41:39 171

原创 kettle从入门到精通 第七五课 ETL之kettle血缘,数据血缘

数据血缘(Data Lineage)是指在数据管理和数据分析中追踪数据的源头、流向和处理过程的能力。具体来说,数据血缘描述了数据如何被创建、变换和移动,以及这些过程中数据的路径和影响。数据血缘可以用于查看表和表、字段和字段之间的血缘关系,从而辅助业务进行数据的溯源和管理,在作业异常时也可以帮助业务分析上下游作业影响。2)数据血缘分为表级别血缘和字段级别血缘,一般情况下做到表级别血缘就可以了。1)数据血缘基于数据流动,基于etl,假如没有中场景,也就不需要数据血缘。1、数据血缘定义(来自gpt)

2024-07-15 10:29:59 411

原创 kettle从入门到精通 第七十四课 ETL之kettle kettle调用https接口教程,忽略SSL校验

场景:kettle调用https接口,跳过校验SSL。(有些公司内部系统之间的https的接口是没有SSL校验这一说,无需使用用证书的)解决方案:自定义插件或者自定义jar包通过javascript调用https接口。//这里注意参数body如果是json字符串的话,这里自动转换为对象了,1)将自定义jar放到lib目录下。//索引这里要重新转换为字符串。

2024-07-02 21:43:16 513

原创 kettle从入门到精通 第七十三课 ETL之kettle kettle调用http分页接口教程

1) 这一步很重要,将单条数据变成list,如上一步的totalNum为3,这里会输出[{"paggNum":"2","pageSize":"20"},{"paggNum":"3","pageSize":"20"}]会循环上一步的结果[{"paggNum":"2","pageSize":"20"},{"paggNum":"3","pageSize":"20"}]2)这里的模拟http请求使用的是写日志步骤,具体场景中使用的是http post步骤。4)、循环页码list,单条数据请求http接口。

2024-06-22 21:15:00 616

原创 kettle从入门到精通 第七十二课 ETL之kettle 三谈http post(含文件上传),彻底掌握参数传递

4) 查看kettle 源码得知:Java 客户端发送文件时,使用的是直接将文件内容作为请求体的形式,而不是通过标准的文件上传方式,所以request.files 接收不到。2、http post请求参数放到form中,类似于html中的表单提交,Content-Type是application/x-www-form-urlencoded。那就把常用的方式都梳理下,搞定它。3、http post请求参数放到url中,这种方式不常见一般是get请求参数放到url中,Content-Type不限。

2024-06-21 09:59:40 818

原创 kettle从入门到精通 第七十一课 ETL之kettle 再谈http post,轻松掌握body中传递json参数

3、http post参数设置,这了填写URL、Request entity field,其他默认。1)从日志可以很清楚的看到接口http://127.0.0.1:5000/api/data的Content-type设置不对。4、定位问题之后,我们把Content-type设置为Application/json,进行再次验证,接口调用成功。2)以行级日志模式进行运行,可以看到默认的Content-type为text/xml;这里的body名称可以自定义,不是只能使用body关键字哦。

2024-06-18 22:53:09 654

原创 kettle从入门到精通 第七十课 ETL之kettle kettle数据校验,脏数据清洗轻松拿捏

输入在指定的错误(错误应涵盖数据类型不匹配的情况)行数内,trans不报错,但通过错误处理步骤捕捉,并记入文件,整个数据管线正常完成直至处理完最后一个输入行。3、类型校验,也就说如果上游传递过来的类型是integer类型,但是你需要的是String类型,这个时候可以进行类型校验规则拦截,如下图所示。"name": "Java小金刚1","name": "Java小金刚2","name": "Java小金刚3","name": "Java小金刚4","name": "Java小金刚5",

2024-06-15 22:46:02 417

原创 kettle从入门到精通 第六十九课 ETL之kettle kettle cdc mysql,轻松实现增量同步

1、之前kettle cdc mysql的时候使用的方案是canal+kafka+kettle,今天我们一起学习下使用kettle的插件Debezium直接cdc mysql。5、Debezium步骤配置中设置ddl为true(输出dml和ddl),更多属性配置参考Debezium官网。2、Debezium步骤配置如下(只输出dml),更多属性配置参考Debezium官网。4)create、delete、update、ddl是写日志步骤,模拟后续操作。3、switch-case配置如下,不做过多介绍。

2024-06-14 13:36:28 308 1

原创 kettle从入门到精通 第六十八课 ETL之kettle kettle随机数生成的一些方案

4、通过java脚本进行生成,如调用 java.util.UUID.randomUUID().toString(),这里不做过多介绍。1、在做ETL数据抽取的时候,会用到生成随机数的功能,今天我们一起来学习下如何生成随机数据。随机字符串:基于 64-bit 长随机值生成一个随机字符串。随机数字:生成一个介于 0 和 1 之间的随机数。UUID4:通用唯一标识符类型 4(UUID4)随机整数:生成一个随机的 32-bit整数。UUID:通用唯一标识符(UUID)随机消息认证码(HmacSHA1)

2024-06-12 18:19:53 364

原创 kettle从入门到精通 第六十七课 ETL之kettle 再谈kettle阻塞,阻塞多个分支的多个步骤

1、 如下流程图中利用Blocking step步骤同时阻塞【模拟表输出1】和【模拟表输出2】两个步骤,只有当两个步骤都执行完毕之后数据才会通过Blocking step.2、上边的案例是采用Round-Robin轮询调度,下面我们调整数据发送为数据复制方式,该方式可以将当前数据的数据复制两份,每份的数据都是一样的。注意:这里的最后一行数据不是表输入步骤中的最后一行数据,而是通过模拟表输出1和模拟表输出2两个步骤中的最后一条数据。2)当前数据步骤为写日志步骤,打印数据读取记录。

2024-06-10 21:41:24 251

原创 kettle从入门到精通 第六十六课 ETL之kettle kettle阻塞教程,轻松获取最后一行数据,so easy

若不勾选,表输出步骤成功写入3条数据之后只有最后一条数据才会通过Blocking step步骤传递给之后的步骤。:若勾选,表输出步骤成功写入3条数据之后所有数据都会通过Blocking step步骤传递给之后的步骤。2)从图片日志可以很清晰的看到,虽然Blocking step 写了三条数据,但是执行顺序依然是在Blocking step的前置步骤表输出完毕之后。1)从图片日志可以很清晰的看到,Blocking step 读取了三条数据,写了三条数据。

2024-06-08 19:39:45 415

原创 kettle从入门到精通 第六十五课 ETL之kettle 执行动态SQL语句,轻松实现全量&增量数据同步

2、查询目标表t2中的表记录总条数,若总条数为0表示没有进行同步过,需要进行全量同步,否则进行增量同步。这里增量同步的逻辑是通过两个表的id进行比对,当然也可以通过业务时间字段进行比对。1、之前的课程有介绍过单个转换的全量和增量数据同步,今天我们一起学习下通过trans来实现将增量和全量合二为一。本次课程的逻辑是同步t1表数据到t2表,t1和t2表的表机构相同,都有id,name,createtime三个字段。4、使用执行Dynamic SQL步骤执行前面构建的sql语句。5、表输出步骤将数据写入t2表。

2024-06-04 22:03:05 400

原创 kettle从入门到精通 第六十四课 ETL之kettle kettle中执行SQL脚本步骤,使用需当心

上图可以清晰的看到写日志two可执行了两次,那是因为执行SQL脚本也执行了两次,同时前置步骤的中的name字段也可以正常打印了。看过源码的应该了解执行SQL脚本步骤肯定是根据是否执行每一行参数来决定是在init还是在processRow方法中执行。根据上图日志可以清楚的看到写日志two步骤只执行了一次,因为它的前置步骤执行SQL脚本也只执行了一次。3、执行SQL脚本中的执行每一行不进行勾选,表示此步骤只在初始化阶段执行一次。4、执行SQL脚本中的执行每一行勾选,表示对步骤接收的每一行输入执行一次。

2024-06-03 21:41:03 714

原创 kettle从入门到精通 第六十三课 ETL之kettle kettle调用python脚本的两种方法

此处是将python脚本暴露http服务接口,然后在kettle中使用http步骤进行调用。这里不在详细介绍,可以参考之前的http调用文章。kettle中不能直接调用python脚本,可以通过shell脚本和http进行调用pyton服务。最下面的参数可以设置传递给python脚本参数,如设置V1参数。也可以上一步骤的结果作为参数传递给python脚本。# 在这里编写Python脚本的主要逻辑。1、下面是一段简单的无参python脚本。6、下面是一段简单的带参python脚本。

2024-05-25 11:01:07 608

原创 kettle从入门到精通 第六十二课 ETL之kettle job中发送邮件(带多个附件),闭坑指南

1、今天群里一个朋友加我微信遇到问下向我求助。2、先自我膨胀下,自从写kettle系列文章之后认识了很多朋友,同时文章也帮助了很多人,让更多朋友少走弯路,高效率工作,节省更多时间享受生活陪伴自己的家人。10、怪异的问题发生在步骤【添加文件到结果文件中】,经过测试发现该步骤会将当前步骤之前的所有步骤中涉及的文件一并添加到结果文件中。解决方案:在步骤【添加文件到结果文件中】前面添加步骤【从结果文件中删除文件】将不需要的文件删除,导致问题解决。4、使用步骤【添加文件到结果文件中】设置指定文件。

2024-05-23 15:44:51 316

原创 kettle从入门到精通 第六十一课 ETL之kettle 任务调度器,轻松使用xxl-job调用kettle中的job和trans

1、大家都知道kettle设计的job流程文件有个缺点:只能设置简单的定时任务,无法设置复杂的如支持cron表达式的job。2)xxl-job-executor,job执行器,通过调用carte服务器api进行触发kettle job或者转换。3)job执行器访问的carte服务可以是单体,也可以是carte集群中的master服务。今天给大家分享一个使用xxl-job调度carte的流程文件的示例。1)xxl-job-admin,页面可视化配置任务。

2024-05-16 08:42:51 484

原创 kettle从入门到精通 第五十九课 ETL之kettle 邮件发送多个附件,使用正则轻松解决

一个朋友说他用kettle将生成好的多个文件(a.xls和b.xls,文件在data目录下)发送给客户,但是data目录下还有其他的文件,他如果指定data目录发送会把。data目录下面的所有文件都作为附件进行发送,显然不符合要求,所以他当时的临时解决方法是创建个临时目录,里面只放a.xls和b.xls两个文件。发送多个文件主要涉及folder和reg两个参数,folder用来指定文件夹,reg用来匹配需要发送的文件,使用正则表达式进行匹配。

2024-05-12 21:48:20 325

原创 kettle从入门到精通 第五十八课 ETL之kettle HTTP post使用教程

选择“发布文件”并在“主体参数”下指定字段,但没有为“请求实体字段”(文件名的位置)选择值,将会静默失败。如果你在“常规”标签中填写了 URL 和其他必要的细节,你可以使用“获取值”按钮来预填充这里的字段。9)Connection close wait time:定义连接关闭后的等待时间(单位为毫秒),默认值为-1,表示使用操作系统的默认等待时间(通常为2分钟)。如果你在“常规”标签中填写了 URL 和其他必要的细节,你可以使用“获取值”按钮来预填充这里的字段。:如果选中,则必须指定从哪个字段检索URL。

2024-05-10 08:00:00 954

原创 kettle从入门到精通 第五十七课 ETL之kettle调用存储过程

调用存储过程有两种方法:使用步骤【调用DB存储过程】或者步骤【执行SQL脚本】。1)创建有参数存储过程sp_with_param,其中param_name 是入参,result是返回结果。存储过程名称:填写需要调用的存储过程名称,这里填写sp_without_param。注意:这里的参数顺序要和存储过程里面的参数顺序保持一致。1)创建无参数存储过程sp_without_param。参数:由于这里是无参数存储过程,无需填写。类型:参数类型,和存储过程参数需要相对应。名称:参数名称,包含入参数和返回参数。

2024-05-07 08:00:00 802

原创 kettle从入门到精通 第五十六课 ETL之kettle Microsoft Excel Output

如果您希望流式传输XLSX文件,请选择此选项。8)在接收数据前不创建文件:如果选择了此选项,则在检测到一行后,步骤才会创建文件。1)开始输出自单元格:在MS Excel电子表格中指定要开始写入的单元格(字母列,数字行),例如,A2,表示从从第一列第二行位置开始写数据,第一行为模板文件内容。6)文件名包含步骤数目,文件名包含日期,文件名包含时间,指定日期时间格式,都是为了指定文件生成的名字,如下图所示。14)使用模版创建新文件、模版文件:可以设置模版文件,然后基于模板文件复制目标文件,最后将数据写入。

2024-05-05 21:07:19 1302

原创 kettle从入门到精通 第五十五课 ETL之kettle Excel输入

失败的记录数文件目录:翻译:如果发生行解析错误,请指定放置错误的目录位置。Excel 2007 XLSX(Apache POI):如果您选择这种电子表格类型,您可以读取所有已知的Excel文件类型。注意:如果您使用了受密码保护的工作表,您必须将电子表格类型(引擎)设置为Excel 2007 XLSX(Apache POI)。正则表达式(排除):如果上方指定的是目录,这里指定一个正则表达式来排除指定目录中的文件名。正则表达式:如果上方指定的是目录,这里指定一个正则表达式来匹配指定目录中的文件名。

2024-04-30 08:00:00 1086

原创 Kettle调优教程(推荐收藏)

双击画布-》杂项-〉记录集合里的记录数进行设置,也可以在kettle.properties属性文件中添加全局参数KETTLE_TRANS_ROWSET_SIZE进行设置。5、设计kettle流程时尽可能少的使用Kettle步骤,因为kettle步骤之间是有行集缓存的,步骤使用的越多,缓存也就越多,步骤间复制拷贝的次数也就越多。通过合理使用行集,可以实现数据的有效管理和处理,提高数据处理的效率和质量。8、插入大量数据的时候尽量把索引删掉,这个具体要根据业务场景,有的是不能删索引的,会影响业务系统使用。

2024-04-28 08:00:00 1945 1

原创 ETL工具-nifi干货系列 第十八讲 nifi Funnel实战教程

在这种情况下,可以与优先级处理器一起使用过期机制,确保最高优先级的数据首先得到处理,然后任何在一定时间段内无法处理的数据(例如一个小时)可以被丢弃。换句话说,如果在给定连接上设置了文件过期时间为“1小时”,并且一个已在NiFi实例中一个小时的文件到达该连接,它将会过期。1)处理器GenerateFlowFile1生成2条数据,处理器GenerateFlowFile2生成2条数据,经过组件Funnel汇合之后将数据传递给LogMessae处理器(或者其他处理器),此时LogMessae处理器将收到4条数据。

2024-04-26 17:01:35 465

原创 深圳证券交易所Binary行情数据接口规范

深圳证券交易所Binary行情数据接口规范对接

2024-04-25 23:09:43 251 1

原创 ETL工具-nifi干货系列 第十七讲 nifi Input Port&Out Port 实战教程

Receive From:数据流来源的选项,有Local connections,Remote connections (site-to-site)两个选项。Send To:数据流发送目的地选项,有Local connections,Remote connections (site-to-site)两个选项。拖动处理组【用户信息表同步】➡️标记至处理组【交易订单表同步】,两个处理组直接进行关联。上图设计处理组【用户信息表同步】流向处理组【交易订单表同步】处理组和处理组之间可以通过使用端口来进行连接。

2024-04-25 08:00:00 532

原创 ETL工具-nifi干货系列 第十六讲 nifi Process Group实战教程,一文轻松搞定

将出站策略设置为“批量输出”,并结合使用“单个节点每次一个流文件”的FlowFile并发性,允许用户轻松摄取单个流文件(该流文件本身可能代表一批数据),然后等待直到该流文件的所有处理完成后再继续数据流的下一步(即流程组之外的下一个组件)。当FlowFile并发性配置为“单个节点每次一个批次”时,输入端口的行为方式与“单个节点每次一个流文件”模式类似,但是当摄取一个流文件时,输入端口将继续摄取所有数据,直到所有馈送输入端口的队列已被清空。3)选中某个处理组,可以单独启动或者暂停该处理组,而不影响其他处理组。

2024-04-24 21:25:49 926

原创 ETL工具-nifi干货系列 第十五讲 nifi处理器ConsumeKafka实战教程

如果两条消息具有相同标题的不同值,并且该标题由提供的正则表达式选择,则这两条消息必须添加到不同的 FlowFiles 中。因此,如果消息预期具有每个消息唯一的标题值(例如标识符或时间戳),用户在使用类似于 ".*" 的正则表达式时应谨慎,因为它将阻止 NiFi 将消息有效地捆绑在一起。如果此值设置为 true,则 NiFi 将不会接收任何生产者事务被取消的消息,但这可能会导致一些延迟,因为消费者必须等待生产者完成整个事务,而不是在消息可用时立即拉取。指定要拉取数据的 Kafka 主题的名称。

2024-04-23 08:00:00 741

原创 ETL工具-nifi干货系列 第十四讲 nifi处理器PublishKafka实战教程

如果未指定,则如果存在流文件属性 'kafka.key',则将其用作消息密钥。可以很清楚的看到PublishKafka处理器支持多个版本的kafka,选择时要根据自己的kafka 版本选择相匹配的PublishKafka处理器,由于本人使用的是kafka2.x,所以这里选择PublishKafka_2_0处理器。Message Header Encoding:对于作为消息标头添加的任何属性,通过 属性配置,此属性指示用于序列化标头的字符编码。

2024-04-22 08:00:00 1078

原创 kettle从入门到精通 第五十三课 ETL之kettle MQTT/RabbitMQ consumer实战

其实这里的topic是RabbitMQ中的routing key(另外这里的routing key 一定不要绑定队列,否则MQTT consumer步骤无法接收数据)。指定此步骤将连接的 MQTT 服务器的地址,如127.0.0.1:1883(注意这里的端口是1883,不是5672)在每收集到‘X’条记录之后,指定的转换将被执行,并且这些‘X’条记录将被传递给转换过程。请指定此步骤将排队等待处理的传入消息的限制,即从 kfakfa broker接收到的消息。4、字段设置,这里采用默认值就行了,不用调整。

2024-04-21 16:17:00 1117

原创 kettle从入门到精通 第五十三课 ETL之kettle MQTT/RabbitMQ producer 实战

MQTT 是基于发布/订阅模式(Publish/Subscribe)的协议,其中设备可以发布消息到一个主题(Topic),其他设备可以订阅这个主题以接收相关消息。MQTT (Message Queuing Telemetry Transport) 是一种轻量级的消息传输协议,设计用于连接低带宽、高延迟或不可靠网络的设备。在主题名称字段中,输入您希望发布流数据(消息)的 MQTT 主题的名称。指定此步骤将连接的 MQTT 服务器的地址,如127.0.0.1:1883(注意这里的端口是1883,不是5672)

2024-04-18 09:00:00 1682

原创 ETL工具-nifi干货系列 第十四讲 nifi处理器QueryDatabaseTableRecord查询表数据实战教程

1、处理器QueryDatabaseTableRecord和处理器QueryDatabaseTable比较相似,该组件生成一个 SQL 查询,或者使用用户提供的语句,并执行它以获取所有在指定的最大值列中值大于先前所见最大值的行。处理器QueryDatabaseTableRecord属性配置和处理器QueryDatabaseTable属性配置基本一样,不了解的可以参考上一篇文章。唯独多了Record Writer属性。

2024-04-17 10:00:00 598

原创 ETL工具-nifi干货系列 第十三讲 nifi处理器QueryDatabaseTable查询表数据实战教程

如果启用,则使用逻辑类型并按其底层类型写入,具体来说,DECIMAL/NUMBER 作为逻辑 ‘decimal’:按字节写入,并附加精度和比例元数据,DATE 作为逻辑 ‘date-millis’:按整数写入,表示自 Unix 纪元(1970-01-01)以来的天数,TIME 作为逻辑 ‘time-millis’:按整数写入,表示自 Unix 纪元以来的毫秒数,以及 TIMESTAMP 作为逻辑 ‘timestamp-millis’:按长整数写入,表示自 Unix 纪元以来的毫秒数。

2024-04-16 12:38:31 975

原创 ETL工具-nifi干货系列 第十二讲 nifi处理器UpdateRecord使用教程

指定要用于写出记录的控制器服务,根据情况选择合适的控制器服务,这里由于输出数据是json格式,所以选择JsonRecordSetWrite进行输出数据,当然也可以选取其他控制器服务。例如,如果你想name字段的值改为固定的"Java大金刚",你可以在Literal Value中写入这个值,如上图所示。指定要用于读取传入数据的控制器服务,根据情况选择合适的控制器服务,这里由于输入数据是json格式,所以选择JsonTreeReader进行加载数据。本节教程比较简单,涉及处理器流程如下。

2024-04-15 10:00:00 557

原创 ETL工具-nifi干货系列 第十一讲 处理器UpdateAttribute使用教程

选择有状态的选项将不仅存储流文件上的属性,还会存储在处理器的状态中。(user.*|host.*|.*Date) - 将删除 "user"、"username"、"userName"、"hostInfo"、"hosts" 和 "updateDate",但不会删除 "User"、"HOST"、"update" 或 "updatedate"。user.* - 将删除以 "user" 开头的属性,例如 "username"、"userName"、"userID" 和 "users"。

2024-04-12 15:37:22 918

原创 ETL工具-nifi干货系列 第十讲 处理器RouteOnAttribute使用教程,方便灵活控制数据流向

之后connection 连线配置的关联选项只有matched和unmatched两个选项,如userId=1或者userId=100路由到LogMessage-kkk,相当于java中的if(userId.equals('1')||name.equals('Java小金刚')){print('我路由到LogMessage-kkk')}相当于switch-case,多路分支。:针对一条路由规则进行控制,如userId=1时路由到LogMessage-1,相当于java中的switch-case。

2024-04-09 08:00:00 836

原创 ETL工具-nifi干货系列 第九讲 处理器EvaluateJsonPath,根据JsonPath提取字段

下拉选项有auto-detect、json、scalar,默认值为auto-detect,用于指示 JSON Path 表达式的期望返回类型属性。选择 'auto-detect' 会根据目标的设置来确定返回类型:对于目标为 'flowfile-content' 的情况,返回类型将设置为 'json';:下拉选项有warn、ignore、skip,默认值为ignore,目标设置为 'flowfile-attribute' 时,如何处理缺失的 JSON Path 表达式的方式。

2024-04-08 10:08:54 1050 1

原创 kettle从入门到精通 第五十二课 ETL之kettle Avro output

如果模式文件已存在,则会被覆盖。Include date in filename:将系统生成文件的系统日期添加到默认格式yyyyMMdd(例如20240405)的输出文件名中。Include time in filename:将系统生成文件的系统时间添加到默认格式HHmmss(例如235959)的输出文件名中。Specify date time format:"从下拉列表中可用的选项中选择一个不同的日期时间格式,添加到输出文件名中。Avro path:字段的名称将在Avro数据和模式文件中显示。

2024-04-06 07:00:00 761

原创 kettle从入门到精通 第五十一课 ETL之kettle Avro input

1、我们在学习nifi的过程中有接触到Avro schema,当时我在想kettle应该也支持Avro,果不其然kettle也是支持Avro文件的读和写的。数据来源格式,有Avro file,JSON datum,Binary datum,Avro file(use alternate schema),本次演示采用Avro file。您可以使用此字段进行映射或数组扩展,从而将数组或映射值扩展为返回多行数据。你可以使用查找字段选项卡创建变量,并将它们映射到特定字段,以在解码时用作对 Avro 结构的查找。

2024-04-05 07:00:00 656

原创 kettle快速入门教程

掌握Kettle的进阶技巧,让你站在数据处理的最前沿。通过JavaScript/java脚本实现复杂的数据处理和计算,实现定时任务的自动化,以及应对各种故障处理机制,保障数据处理的稳定性和可靠性。Kettle(Pentaho Data Integration)的神奇魔力,将为你解锁数据世界的无限可能。本人基于公司业务实战整理的50篇精华Kettle系列文章,是你的密钥,让你轻松驾驭数据之力,成就数据之王!随后,我们深入剖析Kettle的核心组件,带你探索转换设计器、作业设计器和资源库管理器的奥秘。

2024-04-04 11:43:34 1040

CRRedist2005_x86.7z

System.IO.FileLoadException: 未能加载文件或程序集“CrystalDecisions.Windows.Forms, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304”或它的某一个依赖项。

2019-06-22

综合实训项目(学生信息管理系统)

综合实训项目 学生信息管理系统 图书信息管理系统 学生毕业设计文档

2012-12-25

门业算料软件,门业下料软件

门业算料软件,门业下料软件,能够直接根据客户所报门的尺寸直接生成下料单,只要自定义计算公式正确,计算的结果百分之百正确。

2012-11-21

c语言做的简单职工管理系统

单职工管理系统为某企业的管理提供了专门的管理,通过这个系统后台人员与职工的联系更加的紧密方便,该系统的主要功能是实现新增职工、将新增职工对象按姓名以字典方式职工管理文件。删除职工,从职工管理文件中删除一名职工对象。查询用户需求的职工,从职工管理文件中查询符合某些条件的职工。对职工信息的修改,检索某个职工对象,对其某些属性进行修改,排序,对职工按某种需要对职工对象文件进行排序。特别在对职工信息的排序中,我们可以选择两种排序方法对其某种条件进行排序,即冒泡排序和选择排序,即将排序好的自动保存在文件中。我们也可以对排序好的职工再进行增加、修改、查询、删除、排序操作。

2012-01-01

硬件课程设计

老师让写的组成原理实验,写的是简单模型机和复杂模型机

2012-01-01

asp.net jquery 弹出层 及数据提交

asp.net jquery 弹出层 及数据提交asp.net jquery 弹出层 及数据提交asp.net jquery 弹出层 及数据提交

2011-04-29

漂亮的弹出层 jquery实现

漂亮的弹出层漂亮的弹出层漂亮的弹出层漂亮的弹出层漂亮的弹出层

2011-04-29

jquery Demo

里面有好的jquery demo 可以学习。

2011-04-29

C# 编写的邮件无敌群发(绝对管用)

C# 编写的邮件单发和群发,功能都可以实现。 但是要把自己邮箱的smtp功能打开。进自己的邮箱设置下就可以了。

2011-03-17

bresanham圆的生成算法

计算机图形学园的的bresanham生成算法,vc++实现.

2010-10-08

圆的生成算法(极坐标)

vc++实现的极坐标画圆,计算机图形学.

2010-10-08

vrml及浏览器插件

vrml浏览器插件 ,很实用,我们上大学的都用这个。

2010-09-26

web server QQ在线查询

C#web server qq在线查询 很简单的一个web server 程序 大家都来看啊。

2009-01-03

图书借阅管理设计和实现

图书管理系统的例子很多,但是我这个比较特殊一点,因为它采用了多方面的技术。有很多可学之处,拿出来给大家共享。

2008-12-28

身份证号分析(很方便) 和.net学生信息管理系统

身份证查询:当您输如自己的身份证是您的所有信息将会显示出来。学生信息管理系统:C#窗体类的MIS 很实用的哦。

2008-12-28

C# 模仿qq样式的窗体界面 很炫的

本程序采用的是C#语言,编写的winform窗体,外形类似与qq。

2008-12-28

sqlserver2000的开发及管理应用实例

中英文sql server2000开发及管理应用实例

2008-11-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除