自定义分区器插件

官方只提供了取模分区器,如果有其他分区需求,可通过自定义分区插件扩展。

自定义分区器插件需要实现以下两个接口:
Partitioner:基类BasePartitioner
说明:维护配置、访问对话框、运行时分配数据到分区

StepDialogInterface:基类BaseStepDialog
说明:配置分区器的对话框

实现Partitioner接口

Partitioner是分区器插件的主实现接口(org.pentaho.di.trans.Partitioner)
自定义实现类需继承BasePartitioner 实现Partitioner 接口

以下方法用来追踪分区器配置,每个分区器用私有属性来存储配置,并提供相应的getter setter

  • public Object clone() 构建相同分区的一个深拷贝
  • public Partitioner getInstance() 获取分区器实例

以下方法跟自定义转换步骤类似,用于配置的序列化

  • public String getXML()
  • public void loadXML()
  • public void saveRep()
  • public void readRep()

在运行时,以下方法用于分布行流到不同分区去,总分区数由继承的nrPartitions属性获得,返回一个分区号(0 <= 分区号 < nrPartitions)

  • public int getPartition()

每一个Patitioner自定义实现类必须使用PartitionerPlugin注解装饰,其属性如下:

  • id 分区器全局唯一的id
  • name 分区器名
  • description 分区器描述
  • i18nPackageName 国际化
实现StepDialogInterface接口

StepDialogInterface是分区器插件对话框的主实现接口(org.pentaho.di.trans.step.StepDialogInterface)
自定义实现类需继承BaseStepDialog 实现StepDialogInterface接口

当你在Spoon上打开分区器配置,系统随即实例化dialog类并传入StepPartitioningMeta 对象。通过调用 getPartitioner() 返回Partitioner对象,然后调用dialog的 open()弹出对话框。其规则与转换步骤类似。

部署

与转换步骤相同

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值