之前有写过kettle从redis中读取数据的demo,今天咱们一起学习下kettle读取redis中的hash数据。

Redis 中的 Hash 是一个键值对的集合,也可以理解为一个字典,其中每个键(在 Hash 里通常称为字段 field)对应一个值。一个 Redis 的 Hash 可以包含多个字段 - 值对,它的键是唯一的,通过键可以快速定位和操作对应的值。

1、手动设置hash值

本地启动了一个redis的docker单体服务,然后使用redis desktop 客户端往redis中写入hash数据(hash key为xiaojingang,value值是键值对集合),如下图所示:

 2、设计流程

本次demo使用到的步骤有生成记录,java代码、json input、写日志四个步骤。

生成记录:驱动流程

java代码:从redis中读取hash数据,循环输出

json input:解析hash集合数据中的每一条记录

写日志:打印出json input输出的字段值

 3、Java代码步骤设置

这里重点介绍下Java代码步骤如何读取redis,总共分三个步骤,初始化redis链接、读取hash数据循环输出、销毁redis链接。

1)初始化init 方法

 2)读取hash数据循环输出

这里比较重要的一点是需要在for循环中往后续步骤传递数据。

 3)销毁redis连接

a、当一个步骤完成了所有的数据处理工作后,就会调用 dispose 方法;

b、步骤执行过程中出现异常,为了避免资源无法正常释放,也会调用 dispose 方法。

c、整个作业或者转换被手动停止或者由于其他原因需要停止时,系统会调用每个步骤的 dispose 方法来释放资源。

 4、解析hash集合数据中的每一条记录

这里比较简单,直接从对象中读取相应的字段即可,如下图所示:

 5、保存&运行

可以正常工作,done,如下图所示:

 写在最后

本demo使用的jedis读取的redis服务中的数据,需要根据redis的版本选择合适的jedis版本,然后将jedis jar包放到kettle的lib目录下面。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐