JDBC驱动

可以使用JDBC驱动从Java访问openLooKeng,并将其添加到Java应用的类路径中。

该驱动也可从Maven Central获得:

  1. <dependency>
  2. <groupId>io.hetu.core</groupId>
  3. <artifactId>hetu-jdbc</artifactId>
  4. <version>010</version>
  5. </dependency>

驱动名称

驱动类名为io.hetu.core.jdbc.OpenLooKengDriver。大多数用户不需要此信息,因为驱动是自动加载的。

连接

JDBC URL支持如下格式:

  1. jdbc:lk://host:port
  2. jdbc:lk://host:port/catalog
  3. jdbc:lk://host:port/catalog/schema

例如,使用以下URL连接到运行于example.net端口8080的openLooKeng,其目录为hive,模式为sales

  1. jdbc:lk://example.net:8080/hive/sales

可以使用上面的URL创建连接,如下所示:

  1. String url = "jdbc:lk://example.net:8080/hive/sales";
  2. Connection connection = DriverManager.getConnection(url, "test", null);

连接参数

该驱动支持各种参数,这些参数可以设置为URL参数或作为传递给DriverManager的属性。以下两个示例是等效的:

  1. // URL parameters
  2. String url = "jdbc:lk://example.net:8080/hive/sales";
  3. Properties properties = new Properties();
  4. properties.setProperty("user", "test");
  5. properties.setProperty("password", "secret");
  6. properties.setProperty("SSL", "true");
  7. Connection connection = DriverManager.getConnection(url, properties);
  8. // properties
  9. String url = "jdbc:lk://example.net:8080/hive/sales?user=test&password=secret&SSL=true";
  10. Connection connection = DriverManager.getConnection(url);

这些方法可以混合使用;一些参数可以在URL中指定,而另一些参数则使用属性指定。但是相同的参数不可同时用两种方法指定。

参数参考

项目描述
user用于身份验证和授权的用户名。
password用于LDAP身份验证的密码。
socksProxySOCKS代理主机和端口。示例:localhost:1080
httpProxyHTTP代理主机和端口。示例:localhost:8888
applicationNamePrefix添加到任何指定的ApplicationName客户端信息属性的前缀,该前缀用于设置openLooKeng查询的源名称。如果既没有设置该属性也没有设置ApplicationName,则查询的源将是presto-jdbc
accessToken基于令牌身份验证的访问令牌。
SSL使用HTTPS连接。
SSLKeyStorePath包含用于身份验证的证书和私钥的JavaKeyStore文件的位置。
SSLKeyStorePasswordKeyStore密码。
SSLTrustStorePath用于验证HTTPS服务器证书的Java TrustStore文件的位置。
SSLTrustStorePasswordTrustStore密码。
KerberosRemoteServiceNameopenLooKeng协调节点Kerberos服务的名称。Kerberos认证时,需要配置该参数。
KerberosPrincipal向openLooKeng协调节点进行身份验证时使用的主体。
KerberosUseCanonicalHostname通过首先将主机名解析为IP地址,然后对该IP地址执行反向DNS查找,从而使用Kerberos服务主体的openLooKeng协调节点的规范主机名。此参数默认启用。
KerberosServicePrincipalPatternopenLooKeng协调节点Kerberos服务主体模式。默认值为${SERVICE}@${HOST}${SERVICE}替换为KerberosRemoteServiceName的值,${HOST}替换为协调节点的主机名(如果启用了规范化,则为规范化后的主机名)。
KerberosConfigPathKerberos配置文件。
KerberosKeytabPathKerberos keytab文件。
KerberosCredentialCachePathKerberos凭证缓存。
extraCredentials连接外部服务的额外凭证。ExtraCredentials是一个键值对列表。示例:foo:bar;abc:xyz将创建凭据abc=xyzfoo=bar