kettle二次开发连接HIVE,找不到HIVE类型
这是我的连接xml信息:
public static final String[] databaseXML = {
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<connection>" +
"<name>bjdt</name>" +
"<server>202.115.161.209</server>" +
"<type>MYSQL</type>" +
"<access>Native</access>" +
"<database>isearch5_beta_0.1</database>" +
"<port>3306</port>" +
"<username>root</username>" +
"<password>cs.swust</password>" +
"</connection>",
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<connection>" +
"<name>kettle</name>" +
"<server>10.11.0.65</server>" +
"<type>HIVE2</type>" +
"<access>Native</access>" +
"<database>default</database>" +
"<port>10000</port>" +
"<username/>" +
"<password>Encrypted</password>" +
"</connection>"
};
这是报错:
Unable to load database connection info from XML node
Unable to create new database interface
database type with plugin id [HIVE2] couldn't be found!
at org.pentaho.di.core.database.DatabaseMeta.<init>(DatabaseMeta.java:1007)
at org.pentaho.di.core.database.DatabaseMeta.<init>(DatabaseMeta.java:952)
at DataAnalysis.service.createKtrService.generateMyOwnTrans(createKtrService.java:91)
at DataAnalysis.service.createKtrService.doit(createKtrService.java:66)
at DataAnalysis.controller.createKtrController.createKtr(createKtrController.java:24)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
之后我再kettle-core.jar里面查看kettle-database-types.xml:<database-types>
<database-type id="AS/400">
<description>AS/400</description>
<classname>org.pentaho.di.core.database.AS400DatabaseMeta</classname>
</database-type>
<database-type id="CACHE">
<description>Intersystems Cache</description>
<classname>org.pentaho.di.core.database.CacheDatabaseMeta</classname>
</database-type>
<database-type id="DB2">
<description>IBM DB2</description>
<classname>org.pentaho.di.core.database.DB2DatabaseMeta</classname>
</database-type>
<database-type id="DBASE">
<description>dBase III, IV or 5</description>
<classname>org.pentaho.di.core.database.DbaseDatabaseMeta</classname>
</database-type>
........后面还有很多数据库的类型,
但是发现没有HIVE类型,那么问题来了,使用kettle的spoon却可以连接HIVE,这是为什么呢?我又应该怎么才可以用代码连接呢?