自定义分区器插件

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

自定义分区器插件需要实现以下两个接口:
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()弹出对话框。其规则与转换步骤类似。

部署

与转换步骤相同

发布了43 篇原创文章 · 获赞 0 · 访问量 847
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览