다음을 통해 공유

Databricks JDBC 驱动程序的 Java API 参考

本文提供 Databricks JDBC 驱动程序版本 3 及更高版本的 API 参考文档。

IDatabricksConnection 接口

描述了获取连接句柄和语句执行句柄的方法。

包:com.databricks.jdbc.api

getStatement
IDatabricksStatement getStatement(String statementId) throws SQLException
返回指定语句 ID 的句柄。
返回:
一个 IDatabricksStatement 用于处理现有执行任务。
getConnectionId
String getConnectionId() throws SQLException
返回会话连接的句柄。
返回:
表示执行基础会话连接的字符串。

IDatabricksDriver 接口

描述管理驱动程序连接的方法。

包:com.databricks.client.jdbc

com.databricks.client.jdbc.Driver 扩展 com.databricks.client.jdbc.IDatabricksDriverjava.sql.Driver.

closeConnection
void closeConnection(String url, Properties info, String connectionId) throws SQLException
关闭指定连接 ID 和 JDBC 连接 URL 的连接。
返回:
None

IDatabricksResultSet 接口

描述检索异步查询结果的方法。

包:com.databricks.jdbc.api

getExecutionStatus获取执行状态
IExecutionStatus getExecutionStatus() throws SQLException
返回执行状态。
返回:
表示执行状态的 IExecutionStatus
getStatementId
String getStatementId() throws SQLException
返回异步执行的关联语句 ID。
返回:
表示执行语句 ID 的字符串

IDatabricksStatement 接口

描述执行和处理异步查询的方法。

包:com.databricks.jdbc.api

executeAsync
ResultSet executeAsync(String sql) throws SQLException
在异步模式下执行 SQL 命令。
Parameters:
  • sql - 要执行的命令。

返回:
一个 ResultSet ,表示执行的 SQL 的结果
getExecutionResult
ResultSet getExecutionResult() throws SQLException
获取已执行的 SQL 命令的状态和响应,如果未执行任何命令,则会引发错误。 可以多次调用此方法来轮询执行状态。
返回:
一个 ResultSet ,表示执行的 SQL 的结果

IDatabricksVolumeClient 接口

介绍管理 Unity 目录卷中的文件的方法。

包:com.databricks.jdbc.api

prefixExists
boolean prefixExists(String catalog, String schema, String volume, String prefix, boolean caseSensitive) throws SQLException
确定 Unity 目录卷中是否存在特定的前缀(类似于文件夹的结构)。 前缀必须是文件名的一部分。
Parameters:
  • catalog - 云存储的目录名称。
  • schema - 云存储的架构名称。
  • volume - 云存储的 Unity 目录卷名称。
  • prefix - 用于检查存在的前缀,以及以卷的根目录为起点的相对路径。
  • caseSensitive - 检查是否应该区分大小写。

返回:
一个布尔值,指示前缀是否存在。
objectExists
boolean objectExists(String catalog, String schema, String volume, String objectPath, boolean caseSensitive) throws SQLException
确定 Unity 目录卷中是否存在特定对象(文件)。 对象必须与文件名完全匹配。
Parameters:
  • catalog - 云存储的目录名称。
  • schema - 云存储的架构名称。
  • volume - 云存储的 Unity 目录卷名称。
  • objectPath - 以卷的根目录为起点的对象(文件)的路径,用于检查是否在卷中存在(在任何子文件夹中)。
  • caseSensitive - 一个布尔值,指示检查是否应区分大小写。

返回:
一个布尔值,指示对象是否存在。
volumeExists
boolean volumeExists(String catalog, String schema, String volumeName, boolean caseSensitive) throws SQLException
确定给定目录和架构中是否存在特定卷。 卷必须与卷名称完全匹配。
Parameters:
  • catalog - 云存储的目录名称。
  • schema - 云存储的架构名称。
  • volumeName - 要检查是否存在的卷的名称。
  • caseSensitive 一个布尔值,指示检查是否应区分大小写。

返回:
一个布尔值,用于指示卷是否存在。
listObjects
List<String> listObjects(String catalog, String schema, String volume, String prefix, boolean caseSensitive) throws SQLException
返回 Unity 目录卷中以指定前缀开头的所有文件名的列表。 前缀必须是以卷的根目录为起点的文件路径的一部分。
Parameters:
  • catalog - 云存储的目录名称。
  • schema - 云存储的架构名称。
  • volume - 云存储的 UC 卷名称。
  • prefix - 要列出的文件名的前缀。 这包括以卷的根目录为起点的相对路径。
  • caseSensitive - 一个布尔值,指示检查是否应区分大小写。

返回:
一个字符串列表,指示以指定前缀开头的文件名。
getObject(文件)
boolean getObject(String catalog, String schema, String volume, String objectPath, String localPath) throws SQLException
从 Unity 目录卷检索对象(文件),并将其存储在指定的本地路径中。
Parameters:
  • catalog - 云存储的目录名称。
  • schema - 云存储的架构名称。
  • volume - 云存储的 UC 卷名称。
  • objectPath - 以卷的根目录为起点的对象(文件)的路径。
  • localPath - 要存储检索到数据的本地路径。

返回:
指示GET操作状态的布尔值。
getObject(流)
InputStreamEntity getObject(String catalog, String schema, String volume, String objectPath) throws SQLException
从 Unity Catalog 卷检索对象作为输入流。
Parameters:
  • catalog - 云存储的目录名称。
  • schema - 云存储的架构名称。
  • volume - 云存储的 UC 卷名称。
  • objectPath - 以卷的根目录为起点的对象(文件)的路径。

返回:
输入流实体的实例。
putObject(文件)
boolean putObject(String catalog, String schema, String volume, String objectPath, String localPath, boolean toOverwrite) throws SQLException
将数据从本地路径上传到 Unity 目录卷中的指定路径。
Parameters:
  • catalog - 云存储的目录名称。
  • schema - 云存储的架构名称。
  • volume - 云存储的 UC 卷名称。
  • objectPath 上传对象(文件)的目标路径,以卷的根目录为起点。
  • localPath 要从中上传数据的本地路径。
  • toOverwrite 一个布尔值,指示是否覆盖对象(如果对象已存在)。

返回:
一个布尔值,指示PUT操作的状态。
putObject(流)
boolean putObject(String catalog, String schema, String volume, String objectPath, InputStream inputStream, long contentLength, boolean toOverwrite) throws SQLException
将数据从输入流上传到 Unity 目录卷中的指定路径。
Parameters:
  • catalog - 云存储的目录名称。
  • schema - 云存储的架构名称。
  • volume - 云存储的 UC 卷名称。
  • objectPath - 上传对象(文件)的目标路径,以卷的根目录为起点。
  • inputStream - 要从中上传数据的输入流。
  • contentLength - 输入流的长度。
  • toOverwrite 一个布尔值,指示是否覆盖对象(如果对象已存在)。

返回:
一个布尔值,表示PUT操作的状态。
deleteObject # 删除对象
boolean deleteObject(String catalog, String schema, String volume, String objectPath) throws SQLException
从 Unity 目录卷中的指定路径中删除对象。
Parameters:
  • catalog - 云存储的目录名称。
  • schema - 云存储的架构名称。
  • volume - 云存储的 UC 卷名称。
  • objectPath - 以卷的根目录为起点的要删除的对象(文件)的路径。

返回:
一个布尔值,指示 DELETE 操作的状态。

ExecutionState 枚举

包含正在执行的异步查询的状态。

包:com.databricks.jdbc.api

RUNNING 该语句正在服务器上运行
PENDING 该语句尚未在服务器上运行
SUCCEEDED 该语句已成功运行
FAILED 该语句执行失败
ABORTED 该语句已中止
CLOSED 该语句已关闭

IExecutionStatus 接口

描述检索异步查询状态的方法。

包:com.databricks.jdbc.api

获取执行状态
ExecutionState getExecutionState() throws SQLException
返回执行状态的状态。
返回:
一个 ExecutionState ,表示执行状态的状态
getSqlState
String getSqlState() throws SQLException
如果已设置,则返回失败状态的 SQLState 代码。
返回:
表示SQLState代码的字符串
getErrorMessage
String getErrorMessage() throws SQLException
返回失败执行的错误消息。
返回:
作为错误消息的字符串。