在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:kettlePlugins开源软件地址:https://gitee.com/nivalsoul/kettlePlugins开源软件介绍:kettlePluginskettle通用插件,通过json配置文件实现自定义插件的开发,配置中所有内容都支持变量形式。 开发步骤下载本插件源码通过git方式下载或者直接下载zip文件。 环境准备安装maven、jdk8略…… 安装kettle的jar包到本地maven仓库1、首先下载kettle6或者7的发行包 mvn install:install-file -Dfile=./kettle-core-6.1.0.1-196.jar -DgroupId=org.pentaho.di -DartifactId=kettle-core -Dversion=6.1.0.1-196 -Dpackaging=jarmvn install:install-file -Dfile=./kettle-dbdialog-6.1.0.1-196.jar -DgroupId=org.pentaho.di -DartifactId=kettle-dbdialog -Dversion=6.1.0.1-196 -Dpackaging=jarmvn install:install-file -Dfile=./kettle-engine-6.1.0.1-196.jar -DgroupId=org.pentaho.di -DartifactId=kettle-engine -Dversion=6.1.0.1-196 -Dpackaging=jarmvn install:install-file -Dfile=./kettle-ui-swt-6.1.0.1-196.jar -DgroupId=org.pentaho.di -DartifactId=kettle-ui-swt -Dversion=6.1.0.1-196 -Dpackaging=jarmvn install:install-file -Dfile=./pentaho-metadata-6.1.0.1-196.jar -DgroupId=org.pentaho.di -DartifactId=pentaho-metadata -Dversion=6.1.0.1-196 -Dpackaging=jarmvn install:install-file -Dfile=./metastore-6.1.0.1-196.jar -DgroupId=org.pentaho.di -DartifactId=metastore -Dversion=6.1.0.1-196 -Dpackaging=jarmvn install:install-file -Dfile=./swt-6.1.0.1-196.jar -DgroupId=org.pentaho.di -DartifactId=swt -Dversion=6.1.0.1-196 -Dpackaging=jar 开发流程1、使用Eclipse或者IDEA引入项目 自定义插件开发1、首先创建一个类继承nivalsoul.kettle.plugins.common.CommonStepRunBase
5、重启kettle,在转换的插件类别CommonPlugin下拖拽插件到转换图流程图中,配置说明如下:
已有插件的使用
自定义输入类型目前已实现从rest接口读取数据到字段、通过sax方式解析excel到多个字段。 { "inputType":"rest", "url":"", "method":"get", "headers": {}, "useSSL": false, "params": {}, "isUploadFile": false, "files": ["D:/aa.txt","E:/c.jpg"] "resultField":"result"} 其中,
2)excel输入的默认配置如下: { "inputType":"excel", "filename":"", "header":true, "sheetNum": 0, "outputFields":[ {"name":"col1", "type": "String"}, {"name":"col2", "type": "String"}, {"name":"col3", "type": "String"} ]} 其中,
输出到json文件支持将数据输出到json对象或者json数组。默认配置如下: { "outputType":"array", "fileName":"your-json-filename.json", "fieldName":"data", "batchSize": 1000} 其中,
输出到hive表支持输出到hive的textfile/orc/parquet三种类型表,也可以只输出到对应的三种格式hdfs文件,不创建hive表。默认配置如下: { "hadoopUserName":"hive", "hdfsUrls":"192.168.100.11:8020;192.168.100.12:8020", "hdfsFileName":"/tmp/hiveload/aaa.orc", "hiveDriver":"org.apache.hive.jdbc.HiveDriver", "hiveUrl":"jdbc:hive2://192.168.100.11:10000/default", "hiveUser":"hive", "hivePassword":"hive", "createTable":"true", "tableType":"orc", "hiveTable":"xuwl_orc", "partitionField":[ {"name":"dt", "type":"string"} ], "partitionValue":[ {"name":"dt", "value":"2019-12-04"} ], "overwrite":"true", "fieldSeparator":"\t", "lineSeparator":"\n"} 其中,
注意:该插件未包含hadoop和hive相关的jar包,如果之前没有添加可能报错,需根据自己集群版本添加相应的jar包到kettle/lib下,主要是hadoop-auth-2.6.0.jar、hadoop-common-2.6.0.jar、hadoop-hdfs-2.6.0.jar、hive-exec-2.1.0.jar、hive-jdbc-1.1.0-cdh5.10.0.jar、protobuf-java-2.5.0.jar、htrace-core4-4.0.1-incubating.jar、fastjson-1.2.7.jar、servlet-api-2.5.jar等,如果还差看具体报错情况添加。以上jar可以在kettle自带的bigdata插件里面或者大数据集群安装包里面找到,这里有一份:https://yun.baidu.com/s/1zxnUL48ZiWWUnWLfknAx4g 密码:hetg 读取HDFS文件支持从HDFS读取单个text文件。默认配置如下: { "hdfsUrls":"10.6.1.19:8020;10.6.1.20:8020", "fileName":"/tmp/aa.txt", "fileType":"text", "fieldSeparator":"\t", "lineSeparator":"\n", "outputFields":[ {"name":"id", "type":"Integer"}, {"name":"xm", "type": "String"}, {"name":"age", "type": "String"}, {"name":"title", "type": "String"} ]} 其中,
注意:该插件也需要hadoop相关的jar包,同前面的[输出到hive表]。 数据转换相关支持中文简繁体转换,汉字转拼音,base64编码解码,MD5,sha256加密等。配置如下: { "changeConfig": [ {"inputField": "field1", "changeType": "sc2tc", "outputField": "field2"}, {"inputField": "field3", "changeType": "hz2py", "outputField": "field4"} ]} 其中,inputField为需要转换的字段,outputField为转换后的新字段名,可以与inputField相同。changeType为转换类型,含义如下:
其他如果大家在开发中遇到什么问题,可以加QQ群(195548102)咨询。 |
请发表评论