JDBC Driver 文档

第一种方式在pom里面依赖JDBC模块:

  1. <dependency>
  2. <groupId>org.apache.linkis</groupId>
  3. <artifactId>linkis-jdbc-driver</artifactId>
  4. <version>${linkis.version}</version>
  5. </dependency>

注意: 该模块还没有deploy到中央仓库,需要在linkis-computation-governance/linkis-jdbc-driver目录里面执行mvn install -Dmaven.test.skip=true进行本地安装。

第二种方式通过打包和编译:

  1. 在Linkis项目中进入到linkis-computation-governance/linkis-jdbc-driver目录然后在终端输入指令进行打包mvn assembly:assembly -Dmaven.test.skip=true 该打包指令会跳过单元测试的运行和测试代码的编译,并将JDBC模块需要的依赖一并打包进Jar包之中。
  2. 打包完成后在JDBC的target目录下会生成两个Jar包,Jar包名称中包含dependencies字样的那个就是我们需要的驱动包

建立Java的测试类LinkisJDBCTest,具体接口含义可以见注释:

  1. package org.apache.linkis.jdbc.test;
  2. import java.sql.*;
  3. public class LinkisJDBCTest {
  4. public static void main(String[] args) throws SQLException, ClassNotFoundException {
  5. //1. load driver:org.apache.linkis.ujes.jdbc.UJESSQLDriver
  6. Class.forName("org.apache.linkis.ujes.jdbc.UJESSQLDriver");
  7. //2. Get Connection:jdbc:linkis://gatewayIP:gatewayPort/dbName?EngineType=hive&creator=test, user/password
  8. Connection connection = DriverManager.getConnection("jdbc:linkis://127.0.0.1:9001/default?EngineType=hive&creator=test","hadoop","hadoop");
  9. //3. Create statement
  10. Statement st= connection.createStatement();
  11. ResultSet rs=st.executeQuery("show tables");
  12. //4.get result
  13. while (rs.next()) {
  14. ResultSetMetaData metaData = rs.getMetaData();
  15. for (int i = 1; i <= metaData.getColumnCount(); i++) {
  16. System.out.print(metaData.getColumnName(i) + ":" +metaData.getColumnTypeName(i)+": "+ rs.getObject(i) + " ");
  17. }
  18. System.out.println();
  19. }
  20. //close resource
  21. rs.close();
  22. st.close();
  23. connection.close();
  24. }
  25. }

备注:

  1. 其中EngineType为指定对应的引擎类型:支持Spark/hive/presto/shell等
  2. 其中creator为指定对应的应用类型,用于应用间的资源隔离