我是新的五旬节凯特尔,我正在使用的最新版本,6.0。我在Spoon中创建了几个简单的转换和就业机会。
我有一个作业,它运行一个转换,它简单地从CSV文件中提取数据,向每一行添加两个字段,并将行发送到MongoDB。我还有一个错误步骤(Write to Log)来自MongoDB Output步骤。
作业和转换在Spoon中运行得很好,所有行都出现在MongoDB中。
但是,当我从我的Java运行作业时,除了到达MongoDB Output步骤之外,一切都运行得很完美。所有的行都会转到写日志步骤,并且没有记录错误。
当我取出写入日志步骤时,仍然没有记录错误,也没有将行写入MongoDB。
我的类路径中有一个MongoDB驱动程序,还建议将Kettle根中的类文件夹放入我的类路径中,因为MongoDB是一个OSGi插件。这是我做过的。但是,我仍然没有将数据输入mongodb。
进一步研究表明,MongoDB插件是在Apache实现中运行的。我是否需要将我的Java应用程序与MongoDB插件一起作为Karaf容器中的插件运行,还是有更简单的方法?
发布于 2016-01-20 22:10:01
找到解决办法
我需要包含VM参数-DKETTLE_PLUGIN_BASE_FOLDERS=C:\util\kettle\data-integration\system\karaf\system\pentaho,其中C:\util\kettle是我系统上的路径。
注意: MongoDB插件正在Apache上运行。现在看来,当这些插件从Apache转移到Apache时,宾得会将它们的新插件放在这个新文件夹中,而不是data-integration\plugins文件夹中。这也是VM参数的原因。
我还需要确保在我的类路径中有以下jars : are、commons、commons、commons、commons、js(rhino)、ognl、log4j、junit、guava、commons、scannotation、javassist元-api、org.apache.felix.main、505-mongo-utils、pdi-数据服务-服务器插件、javax.servlet-api-3.0.1。
https://stackoverflow.com/questions/34905597
复制相似问题