Trino JDBC 驱动程序
重要
AKS 上的 Azure HDInsight 已于 2025 年 1 月 31 日停用。 通过此公告了解更多 。
需要将工作负荷迁移到 Microsoft Fabric 或等效的 Azure 产品,以避免工作负荷突然终止。
重要
此功能目前以预览版提供。 Microsoft Azure 预览版补充使用条款 包括适用于 beta 版、预览版或尚未正式普遍发布的 Azure 功能的更多法律条款。 有关此特定预览版的信息,请参阅 Azure HDInsight 在 AKS 上的预览信息。 有关问题或功能建议,请在 AskHDInsight 上提交请求,提供详细信息,并关注我们以获取 Azure HDInsight 社区的更多更新。
在 AKS 上使用 HDInsight 的 Trino 提供了 JDBC 驱动程序,该驱动程序支持Microsoft Entra 身份验证,并为其添加了几个参数。
安装
JDBC 驱动程序 jar 包含在 Trino CLI 包中,在 AKS上安装适用于 HDInsight 的 Trino CLI。 如果已安装 CLI,可以在文件系统上找到它,路径如下:
Windows:
C:\Program Files (x86)\Microsoft SDKs\Azure\TrinoCli-<version>\lib
Linux:
~/lib/trino-cli
认证
Trino JDBC 驱动程序支持各种Microsoft Entra 身份验证方法。 下表介绍了重要的参数和身份验证方法。 有关详细信息,请参阅 身份验证。
参数 | 意义 | 必填 | 描述 |
---|---|---|---|
认证 | 身份验证方法的名称 | 不 | 确定如何提供用户凭据。 如果未指定,请使用 AzureDefault 。 |
azureClient | 服务主体/应用程序的客户端 ID | 对 AzureClientSecret, AzureClientCertificate 是的。 |
|
azureTenant | Microsoft Entra 租户 ID | 对于 AzureClientSecret, AzureClientCertificate ,是的。 |
|
azureCertificatePath | 证书的文件路径 | 对 AzureClientCertificate 是的。 |
包含证书的 pfx/pem 文件的路径。 |
Azure 使用令牌缓存 | 使用令牌缓存或不使用 | 不 | 如果提供,访问令牌将缓存并在 AzureDefault, AzureInteractive, AzureDeviceCode 模式下重复使用。 |
azureScope | 令牌范围 | 不 | 用于请求令牌的 Microsoft Entra 范围字符串。 |
密码 | 服务主体的客户端机密 | 对 AzureClientSecret 是的。 |
使用 AzureClientSecret 模式时,服务主体的机密/密码。 |
accessToken | JWT 访问令牌 | 不 | 如果访问令牌是从外部获取的,可以使用此参数提供。 在这种情况下,不允许 auth 参数。 |
示例 - 连接字符串
描述 | JDBC 连接字符串 |
---|---|
AzureDefault | jdbc:trino://cluster1.pool1.region1.projecthilo.net |
交互式浏览器身份验证 | jdbc:trino://cluster1.pool1.region1.projecthilo.net?auth=AzureInteractive |
使用令牌缓存 | jdbc:trino://cluster1.pool1.region1.projecthilo.net?auth=AzureInteractive&azureUseTokenCache=true |
具有密钥的服务主体 | jdbc:trino://cluster1.pool1.region1.projecthilo.net?auth=AzureClientSecret&azureTenant=11111111-1111-1111-1111-111111111111&azureClient=11111111-1111-1111-1111-111111111111&password=placeholder |
在 Java 代码中使用 JDBC 驱动程序
找到 JDBC jar 文件并将其安装到本地 maven 存储库中:
mvn install:install-file -Dfile=<trino-jdbc-*.jar> -DgroupId=io.trino -DartifactId=trino-jdbc -Dversion=<trino-jdbc-version> -Dpackaging=jar -DgeneratePom=true
使用 JDBC 下载并解压缩连接到 Trino 的示例 java 代码。 有关详细信息和示例,请参阅包含 README.md。
使用开源 Trino JDBC 驱动程序
您还可以从外部获取访问令牌,并将其传递给 开源 Trino JDBC 驱动程序。在“使用 JDBC 驱动程序的 Java 代码”部分 中包含了使用此身份验证的示例 Java 代码。