如何在Kettle4.2上面实现cassandra的输入与输出

这是在QQ群里有人问到的一个问题。

如何在pdi-ce-4.2.X-stable上面实现cassandra的输入与输出,或是实现hadoop,hbase,mapreduce,mongondb的输入输出?

在kettle中实现cassandra的输入与输出有以下两种方式:

  • 第一种方式:自己编写cassandra输入输出组件
  • 第二种方式:使用别人编写好的插件,将其集成进来

当然还有第三种方法,直接使用4.3版本的pdi.

第一种方法需要对cassandra很熟悉编写插件才可以做到,第二种方法可以通过拷贝pdi-ce-big-data-4.3.0-preview中的文件来完成.

在pdi-ce-big-data-4.3.0-preview(下载页面)版本中可以看到kettle开始支持cassandra的输入和输出.

故我们可以将4.3版本中的cassandra相关文件拷贝到4.2.1中.我使用的是pdi-ce-4.2.1-stable.

在pdi-ce-big-data-4.3.0-preview/plugins目录下有以下目录或文件:

.
|-- databases
|-- hour-partitioner.jar
|-- jobentries
|-- kettle-gpload-plugin
|-- kettle-hl7-plugin
|-- kettle-palo-plugin
|-- pentaho-big-data-plugin
|-- repositories
|-- spoon
|-- steps
`-- versioncheck

pentaho-big-data-plugin目录是kettle对大数据的集成与支持,我们只需要将该目录拷贝到pdi-ce-4.2.1-stable/plugins目录下即可.最后的结构如下

.
|-- databases
|-- hour-partitioner.jar
|-- jobentries
|   `-- DummyJob
|       |-- DPL.png
|       |-- dummyjob.jar
|       `-- plugin.xml
|-- pentaho-big-data-plugin
|   |-- lib
|   |   |-- apache-cassandra-1.0.0.jar
|   |   |-- apache-cassandra-thrift-1.0.0.jar
|   |   |-- aws-java-sdk-1.0.008.jar
|   |   |-- commons-cli-1.2.jar
|   |   |-- guava-r08.jar
|   |   |-- hbase-comparators-TRUNK-SNAPSHOT.jar
|   |   |-- jline-0.9.94.jar
|   |   |-- libthrift-0.6.jar
|   |   |-- mongo-java-driver-2.7.2.jar
|   |   |-- pig-0.8.1.jar
|   |   |-- xpp3_min-1.1.4c.jar
|   |   `-- xstream-1.3.1.jar
|   `-- pentaho-big-data-plugin-TRUNK-SNAPSHOT.jar
|-- repositories
|-- spoon
|-- steps
|   |-- DummyPlugin
|   |   |-- DPL.png
|   |   |-- dummy.jar
|   |   `-- plugin.xml
|   |-- S3CsvInput
|   |   |-- jets3t-0.7.0.jar
|   |   |-- plugin.xml
|   |   |-- S3CIN.png
|   |   `-- s3csvinput.jar
|   `-- ShapeFileReader3
|       |-- plugin.xml
|       |-- SFR.png
|       `-- shapefilereader3.jar
`-- versioncheck
    |-- kettle-version-checker-0.2.0.jar
    `-- lib
	`-- pentaho-versionchecker.jar

13 directories, 29 files

启动pdi-ce-4.2.1-stable之后,打开一个转换,在核心对象窗口就可以看到Big Data步骤目录了.

获取pentaho-big-data-plugin源码 如果想在eclipse中查看或修改pentaho-big-data-plugin源码,该怎么做呢? 你可以从这里下载到源码,然后将src下的文件拷贝到你的pdi-ce-4.2.1-stable源码工程中.

然后,需要在kettle-steps.xml中注册步骤节点 例如,下面是MongoDbInput步骤的注册方法,请针对不同插件的不同类路径加以修改.

<step id="MongoDbInput">
<description>i18n:org.pentaho.di.trans.step:BaseStep.TypeLongDesc.MongoDbInput
<classname>org.pentaho.di.trans.steps.mongodbinput.MongoDbInputMeta
<category>i18n:org.pentaho.di.trans.step:BaseStep.Category.Input
<tooltip>i18n:org.pentaho.di.trans.step:BaseStep.TypeTooltipDesc.MongoDbInput
<iconfile>ui/images/mongodb-input.png
</iconfile></tooltip>
</category>
</classname>
</description>
</step>

注意: 由于pdi-ce-4.2.1-stable中存在hive组件,故添加pentaho-big-data-plugin插件之后有可能会出现找不到类的情况,这是由于jar重复版本不一致导致的,按照异常信息,找到重复的jar并按情况删除一个jar包即可.

扩展阅读:

时间: 2025-01-30 14:20:23

如何在Kettle4.2上面实现cassandra的输入与输出的相关文章

c语言-如何在C语言中以数组指针作为形参输出数组

问题描述 如何在C语言中以数组指针作为形参输出数组 #include ""stdafx.h""void cmdsend(unsigned int * info);int main(){ unsigned int senddata[5]; senddata[0] = 8; senddata[1] = 2; senddata[2] = 0; senddata[3] = 4; senddata[4] = 5; cmdsend( senddata ); while(1){;

win7系统如何在Excel表格中快速有效的输入身份证号码

  解决方法1: 1.在需要录入身份证号码的表格中,单击右键,选择"设置单元格格式"; 2.在弹出的"单元格格式"对话框选择"数字",然后选择"文本",单击确定; 3.然后就可以在该单元格中输入身份证号码了; 解决方法2: 1.选中需要录入身份证号码的表格,然后选中"开始"--"数字"选项卡右下角的箭头; 2.在弹出的"设置单元格格式"对话框选择"数字&qu

如何在C#的LISTBOX中获取用户输入的内容逐行请大神解答!

问题描述 要做一个数学测试系统!想用listbox控件当作题目的显示和答案的输入空间! 解决方案 解决方案二:一个数学测试系统怕不能简简单单一个ListBox就实现了吧.再说,ListBox也没法输入啊解决方案三:它默认不支持编辑,你不如用datagridview,自己可以通过重绘,实现样式的改变

如何在JAVA编程中实现从键盘输入?

问题描述 在书上还只看到有console输入,不过事先要编写一个程序,貌似要用到try.catch语法,不过那些个东西我一点都看不懂,不知道还有没有简单点的方法实现从键盘输入 解决方案 解决方案二:importjava.util.Arrays;importjava.util.Scanner;publicclassF{publicstaticvoidmain(String[]agrs){/*接收数据*/System.out.println("数组的大小?");Scannerr=newSc

LFCS 系列第一讲:如何在 Linux 上使用 GNU sed 等命令来创建、编辑和操作文件

LFCS 系列第一讲:如何在 Linux 上使用 GNU sed 等命令来创建.编辑和操作文件 Linux 基金会宣布了一个全新的 LFCS(Linux 基金会认证系统管理员Linux Foundation Certified Sysadmin)认证计划.这一计划旨在帮助遍布全世界的人们获得其在处理 Linux 系统管理任务上能力的认证.这些能力包括支持运行的系统服务,以及第一手的故障诊断.分析,以及为工程师团队在升级时提供明智的决策. Linux 基金会认证系统管理员--第一讲 请观看下面关于

在Visual J++中编写ASP COM组件

visual Java是一种以网络为中心的编程语言,许多只使用ASP脚本难以完成的任务可以用Java轻松地实现.同时,扩展ASP应用最好的方法莫过于加入COM组件.那么,可以利用Java为ASP开发组件吗?本文通过实例,说明了在Visual J++环境下开发COM组件的具体过程. 一.概述 自Java问世以来,各种开发工具.开发环境不断出现.这些环境和工具面向不同层次的用户,具有各自的优点.那么,使用Visual J++作为Java开发平台又有哪些优点呢?粗略地讲,这些优点包括: 熟悉的开发环境

Java核心技术 卷Ⅰ 基础知识(原书第10版)

Java核心技术系列 Java核心技术 卷Ⅰ 基础知识 (原书第10版) Core Java Volume I-Fundamentals (10th Edition) [美] 凯S.霍斯特曼(Cay S. Horstmann) 著 周立新 陈 波 叶乃文 邝劲筠 杜永萍 译 图书在版编目(CIP)数据 Java核心技术 卷Ⅰ 基础知识(原书第10版) / (美)凯S. 霍斯特曼(Cay S. Horstmann)著:周立新等译. -北京:机械工业出版社,2016.8 (Java核心技术系列) 书

研究 Java 中 XML 文档模型的特性和性能

xml|性能 Java 中的 XML: 文档模型,第一部分:性能 研究 Java 中 XML 文档模型的特性和性能 文档选项 将此页作为电子邮件发送 最新推荐 Java 应用开发源动力 - 下载免费软件,快速启动开发 级别: 初级 Dennis M. Sosnoski, 总裁, Sosnoski Software Solutions, Inc. 2001 年 9 月 01 日 在本文中,Java 顾问 Dennis Sosnoski 比较几个 Java 文档模型的性能和功能.当选择模型时,无法做

搜索的服务进化论 一个关于产品与内容的问题

[核心提示] 互联网正经历着变革,用户主导地位的突出促使每一个服务提供方为用户而服务.即搜即得不仅是一个技术的问题,更是一个产品与内容的问题. 这个时节是各大互联网公司进行校招的时候,笔者遂将准备了许久的关于搜索的一点小小思考放将出来,不希望 BAT 校招失利后,埋落尘中. 服务之论 展望互联网的方向,互联网正经历着变革,用户主导地位的突出促使每一个服务提供方为用户而服务.而用户的主导型行为在将互联网产品变成服务. 按照我国通用的三种产业划分标准来看,互联网产业本身就属于第三产业,也叫"服务业&