自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

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

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

2024-05-23 15:44:51 51

原创 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 260

原创 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 252

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

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

2024-05-10 08:00:00 374

原创 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 452

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

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

2024-05-05 21:07:19 1076

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

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

2024-04-30 08:00:00 835

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

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

2024-04-28 08:00:00 1192

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

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

2024-04-26 17:01:35 399

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

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

2024-04-25 23:09:43 147 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 460

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

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

2024-04-24 21:25:49 830

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

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

2024-04-23 08:00:00 629

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

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

2024-04-22 08:00:00 981

原创 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 924

原创 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 1433

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

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

2024-04-17 10:00:00 524

原创 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 784

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

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

2024-04-15 10:00:00 421

原创 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 824

原创 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 734

原创 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 862 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 720

原创 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 628

原创 kettle快速入门教程

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

2024-04-04 11:43:34 994

原创 ETL工具-nifi干货系列 第八讲 处理器PutDatabaseRecord 写数据库(详细)

4、处理器PutDatabaseRecord将数据写入数据库,此处理器需要配置两个控制器,Record Reader和Database Connection Pooling Service 两个控制器。如下流程通过处理器GenerateFlowFile 生成数据,然后通过处理器JoltTransformJSON转换结构,最后通过处理器PutDatabaseRecord将数据写入数据库。3、处理器JoltTransformJSON转换结构,将结构转换成适合表字段的结构,此时有两种方式驼峰和下划线两种方式。

2024-04-03 22:47:25 980 4

原创 ETL工具-nifi干货系列 第七讲 处理器JoltTransformJSON(续)

4、Modify - Define:修改字段的值,如果字段不存在则创建该字段并赋值,测试结果同Modify - Define。3、Modify -Default:修改字段的值,如果字段不存在则添加默认值,如果字段存在不做处理。5、Modify - Overwrite:修改字段的值,如果字段不存在则忽略,存在的话强制覆盖。"nameArry": ["Javax 小金刚", "Javax 大金刚"]"name": "Javax 小金刚""name": "Javax 小金刚"

2024-04-02 17:13:19 1225

原创 ETL工具-nifi干货系列 第六讲 处理器JoltTransformJSON

Jolt Specification 设置为[{"operation":"shift","spec":{"id":"person.id","name":"person.name"}}]Jolt:JSON 到 JSON 转换库,用 Java 编写,其中转换的 "规范" 或者描述文件本身就是一个 JSON 文档。处理器GenerateFlowFile 产生json字符串{"id":"1","name":"Java小金刚"}Modify - Define:修改字段的值,如果字段不存在则创建该字段并赋值。

2024-04-01 21:00:51 675

原创 ETL工具-nifi干货系列 第五讲 处理器GenerateFlowFile

1、今天我们一起来学习处理器GenerateFlowFile。这个处理器创建带有随机数据或自定义内容的 FlowFiles。GenerateFlowFile 对于负载非常有用。从工具栏拖动处理器到画布,然后选择GenerateFlowFile即可。2、点击add按钮或者双击 GenerateFlowFile可将此处理器添加到画布。3、此时GenerateFlowFile 有个感叹号的图标,标记处理器存在无效的配置。上图的提示意思是当此处理器处理成功之后没有设置流向组件(其他处理器)同时页面设置自动终止。

2024-03-28 08:29:37 1214

原创 ETL工具-nifi干货系列 第四讲 Avro schema 序列化框架

这意味着数据的结构和类型在传输过程中是明确的,可以提供更强的数据验证和类型安全性。{"name":"java小金刚","age":20,"skill":["java","go","python","kafka"],"other":{"interests":"basketball"}}需要注意的是:当为union类型的字段指定默认值时,默认值的类型必须与union第一个元素匹配,因此,对于包含"null"的union,通常先列出"null",因为此类型的union的默认值通常为空。

2024-03-27 07:00:00 1157

原创 ETL工具-nifi干货系列 第三讲 nifi web ui 使用教程

(Locally Modifyed and Stale Versioned Process Groups)画布上每个处于本地修改且过时状态下存在的版本化处理组数量。(Start)启动,点击此按钮启动,如果页面中状态栏中的感叹号数量大于0的话是无法启动的,必须根据感叹号提示内容修正感叹号数量为0时才可以正常启动。拖拉处理器到画布中,出现处理器选择列表,可以根据处理器来源,标签,类型,用途等进行检索自己需要的处理器,如下图所示。(Invalid Components)画布上每个处于无效状态下存在的处理器数量。

2024-03-25 07:00:00 1160

原创 ETL工具-nifi干货系列 第二讲 nifi下载&安装

官方下载地址:https://archive.apache.org/dist/nifi/,最新的版本是2.X,但是需要jdk版本比较高,可以下载1.X版本,可以直接使用jdk8。本系列讲解的版本是1.25.0,直接点击。找到conf目录中的nifi.properties,设置nifi.security.allow.anonymous.authentication=true,nifi服务启动之后无需用户名和密码直接进入,跳过登录页面。./nifi.sh install,可以通过如下命令和服务交互。

2024-03-24 07:00:00 720

原创 ETL工具-nifi干货系列 第一讲 揭开nifi神秘面纱

是 NiFi 中的扩展点,在用户界面中由数据流管理者(DFM)添加和配置后,会在 NiFi 启动时启动,并为其他组件(例如处理器或其他控制器服务)提供信息。NiFi为所有接收到的数据提供了细粒度的数据溯源,包括接收、分叉、连接、克隆、修改、发送以及最终到达配置的最终状态时被丢弃的过程。因此,可以将几个组件合并在一起,形成一个更大的构建模块,用来创建数据流。通过报告任务,数据流管理者可以实时监控和评估 NiFi 实例的健康状态和运行情况,从而及时采取必要的措施以确保系统的稳定性和高效性。

2024-03-23 13:03:20 1052

原创 knife4j/swagger救援第一现场

4、定位到原因是项目中引用其他项目中的jar,结果导致了项目中有两个不同版本的knife4j-spring-boot-starter(一个2.0.2,一个2.0.7),简单粗暴,把版本都调整为2.0.2。属性使用ApiModelProperty注解后,在给与example类型的时候里面写了一个json字符串。b、knife4j统一使用版本2.0.7或其他版本,可以支持example。就是类似以上这种情况,导致springfox-swagger提供的接口。返回的json非法,使用前端的。

2024-03-21 14:22:42 613

原创 【Java面试题-基础知识04】Java集合连环问

a. Collection 接口:是所有集合类的根接口,它定义了集合类的基本行为,如添加、删除、遍历等操作。d. Map 接口:表示键值对的集合,每个键值对都是唯一的。b、使用 Iterator 接口的 hasNext() 和 next() 方法进行遍历,可以通过 remove() 方法安全地删除集合中的元素。在 Java 中,集合框架(Collection Framework)是一组用于存储和操作对象集合的类和接口的统一架构。返回的列表是一个固定大小的列表,不支持添加或删除操作。有问题,这段代码会抛出。

2024-03-18 07:15:00 390

原创 【Java面试题-基础知识03】Java线程连环问

如果核心线程已经全部被占用,而且任务队列也已满,那么新任务就会创建额外的线程,直到达到最大线程数为止。d. 线程存活时间(Keep Alive Time):当线程池中的线程数量超过核心线程数时,多余的空闲线程在经过一定时间后会被终止并从线程池中移除,以减少资源消耗。继承Thread类:创建一个类并继承Thread类,在该类中重写run()方法,并在其中定义线程执行的任务。支持共享资源:由于不是继承线程类,因此可以将多个线程共享的资源放在实现 Runnable 接口的类中,更容易实现资源共享。

2024-03-17 15:53:44 228

原创 【Java面试题-基础知识02】Java抽象类和接口六连问?

/ 步骤 2:创建具体子类,实现抽象类中的抽象方法。// 步骤 2:创建具体策略类,实现接口中定义的算法。// 钩子方法,子类可以覆盖它以提供特定实现。// 通过重写钩子方法,可以选择不添加调料。// 步骤 1:创建一个接口,定义算法的统一接口。// 步骤 1:创建一个抽象类,定义算法的骨架。// 子类 Dog 继承自抽象类 Animal。// 实现接口 Animal 的类 Dog。// 实现接口 Animal 的类 Cat。// 抽象方法,需要在子类中实现。// 具体方法,被子类继承和复用。

2024-03-17 15:52:40 686

原创 【Java面试题-基础知识01】Java数据类型四连问?

b、包装类型是基于对应的基本数据类型创建的类,是对象,具有属性和方法。a、基本数据类型是原始数据类型,直接存储数据值,不具备对象的属性和方法。a、基本数据类型的操作通常比包装类型更高效,因为它们不涉及对象的创建和销毁,直接操作数据值。b、包装类型的操作可能会产生性能开销,因为涉及对象的创建和销毁,以及额外的内存空间开销。装箱是指将基本数据类型转换为对应的包装类对象,而拆箱则是将包装类对象转换为基本数据类型。b、在需要将数据值作为对象处理,或者需要使用对象的属性和方法时,可以使用包装类型。

2024-03-14 21:37:53 247

原创 kettle从入门到精通 第五十课 ETL之kettle 课程源文件分享

在过去的几个月里,我已经撰写了将近50篇关于 Kettle 的文章,涵盖了各种主题和用例,如数据抽取、数据转换、数据加载、调度任务等等。总的来说,Kettle 系列文章的撰写已经成为我工作的一大重要组成部分,我将继续努力完善内容,分享更多有价值的知识和经验,帮助更多人在数据处理领域取得成功。随着整理工作的进行,我将会对这些文章进行分类整合,并补充更多实用的示例文件,以丰富读者的学习体验。同时,我也将重点关注读者的反馈和需求,根据大家的建议来调整内容,确保文章能够满足不同层次读者的需求。

2024-03-13 21:51:32 454

原创 kettle从入门到精通 第四十九课 ETL之kettle 自定义插件01

这个功能可以用插件替换Kettle内置的步骤。Kettle内部的对象与外部插件没有任何区别,因为他们使用的API都一样的,只是运行时的加载方式不同。从Kettle 4开始,Kettle内部有一个插件注册系统,负责加载各种内部和外部的插件。Kettle的插件架构使得我们可以不用修改Kettle本身代码,通过一些独立的代码就可以扩展Kettle的功能。当Kettle环境初始化以后,插件注册系统首先会加载所有的内部对象,Kettle读取下面的配置文件来加载内部对象,这些配置文件位于Kettle的.jar文件中。

2024-03-13 21:50:33 444

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关注的人

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