SQL倉庫api 2.0

重要的

要訪問Databricks的REST api,您必須進行身份驗證

要配置單個SQL倉庫,請使用SQL API倉庫.要配置所有SQL倉庫,請使用全球SQL倉庫API

需求

  • 要創建SQL倉庫,您必須具備集群創建權限,它在Data Science & Engineering工作區中啟用。

  • 要管理SQL倉庫,您必須具備可以管理在Databricks SQL中為倉庫設置權限。

使用倉庫API與無服務器SQL倉庫

您可以使用SQL API倉庫管理無服務器倉庫。在創建無服務器倉庫之前,必須為工作區啟用特性.有關無服務器計算的更多信息,請參見Serverless計算

  • 如果使用Databricks api創建無服務器SQL倉庫,如果為您的工作空間啟用了該特性,則該倉庫默認為無服務器SQL倉庫。要創建Classic SQL倉庫,請添加enable_serverless_compute參數,並將其設置為.可以將此參數同時添加到創建API而且編輯API請求。

  • 要將無服務器倉庫轉換為Classic倉庫,請編輯倉庫並設置enable_serverless_compute

  • 對於無服務器的SQL倉庫,可以指定實例策略(spot_instance_policy)是不受支持和忽略的。

SQL API倉庫

使用這個API來創建、編輯、列出和獲取SQL倉庫。

創建

端點

HTTP方法

2.0 / sql /倉庫/

帖子

2.0 / sql /端點(棄用)

帖子

創建一個SQL倉庫。

字段名

類型

描述

的名字

字符串

SQL倉庫的名稱。必須是唯一的。此字段為必填項。

cluster_size

字符串

分配給倉庫的集群的大小:“XXSMALL”“XSMALL”“小”“媒介”“大”“超大”“XXLARGE”“XXXLARGE”“XXXXLARGE”.有關從集群到實例大小的映射,請參見集群規模.此字段為必填項。

min_num_clusters

INT32

運行SQL倉庫時可用的最小集群數。默認值是1

max_num_clusters

INT32

運行SQL倉庫時可用的最大集群數。此字段為必填項。如果未啟用多集群負載均衡,這是有限的1

auto_stop_mins

INT32

空閑的SQL倉庫終止所有集群並停止的時間(以分鍾為單位)。該字段是可選的。將此設置為0將禁用自動停止。對於Classic SQL倉庫,默認值是15。對於無服務器SQL倉庫,默認和推薦的值是10。這隻適用於閑置的倉庫運行狀態.如果倉庫無法獲取底層計算資源,且處於STARTING狀態,則在75分鍾後自動停止。

標簽

WarehouseTags

描述倉庫的鍵值對。Databricks用這些標簽標記所有倉庫資源。該字段是可選的。

spot_instance_policy

WarehouseSpotInstancePolicy

用於將實例分配到集群的現貨策略。該字段是可選的。如果SQL倉庫是無服務器SQL倉庫,則不使用此字段。

enable_photon

布爾

查詢是否在加速查詢執行的本機向量化引擎上執行。該字段是可選的。默認值是真正的

enable_serverless_compute

布爾

此SQL倉庫是否為無服務器倉庫。要使用無服務器SQL倉庫,您必須為工作區啟用無服務器SQL倉庫.該字段是可選的。如果工作區禁用了Serverless SQL倉庫,則默認為.如果為工作區啟用了Serverless SQL倉庫,則默認為真正的

通道

通道

是使用當前SQL倉庫計算版本還是預覽版本。預覽版本可以讓您在它成為Databricks SQL標準之前試用功能。利用預覽版本來測試您的生產查詢和儀表板,以應對即將發生的更改。通常情況下,預覽版本會在首次預覽發布兩周後升級到當前版本,但有些預覽可能會持續更長時間。您可以通過查看最新預覽版本中的特性發布說明.Databricks不建議對生產工作負載使用預覽版本。該字段是可選的。默認值是CHANNEL_NAME_CURRENT

示例請求

“名稱”“我的SQL倉庫”“cluster_size”“媒介”“min_num_clusters”1“max_num_clusters”10“標簽”“custom_tags”“關鍵”“mykey”“價值”“括號”},“spot_instance_policy”“COST_OPTIMIZED”“enable_photon”“真正的”“enable_serverless_compute”“真正的”“通道”“名稱”“CHANNEL_NAME_CURRENT”

示例響應

“id”“0123456789六邊形abcdef”

刪除

端點

HTTP方法

2.0 / sql /倉庫/ {id}

刪除

2.0 / sql /端點/ {id}(棄用)

刪除

刪除SQL倉庫。

編輯

端點

HTTP方法

2.0 / sql /倉庫/ {id} /編輯

帖子

2.0 / sql /端點/ {id} /編輯(棄用)

帖子

修改SQL倉庫。所有字段都是可選的。缺失的字段默認為當前值。

字段名

類型

描述

id

字符串

SQL倉庫ID。

的名字

字符串

SQL倉庫的名稱。

cluster_size

字符串

分配給倉庫的集群的大小:“XXSMALL”“XSMALL”“小”“媒介”“大”“超大”“XXLARGE”“XXXLARGE”“XXXXLARGE”.有關從集群到實例大小的映射,請參見集群規模

min_num_clusters

INT32

運行SQL倉庫時可用的最小集群數。

max_num_clusters

INT32

運行SQL倉庫時可用的最大集群數。此字段為必填項。如果未啟用多集群負載均衡,僅限於1

auto_stop_mins

INT32

空閑的SQL倉庫終止所有集群並停止的時間(以分鍾為單位)。將此設置為0將禁用自動停止。對於Classic SQL倉庫,默認值是15。對於無服務器SQL倉庫,默認和推薦的值是10。這隻適用於閑置的倉庫運行狀態.如果倉庫無法獲取底層計算資源,且處於STARTING狀態,則在75分鍾後自動停止。

標簽

WarehouseTags

描述倉庫的鍵值對。

spot_instance_policy

WarehouseSpotInstancePolicy

用於將實例分配到集群的現貨策略。

enable_photon

布爾

查詢是否在加速查詢執行的本機向量化引擎上執行。

enable_serverless_compute

布爾

此SQL倉庫是否為無服務器倉庫。要使用無服務器SQL倉庫,您必須為工作區啟用無服務器SQL倉庫

通道

通道

是使用當前SQL倉庫計算版本還是預覽版本。預覽版本可以讓您在它成為Databricks SQL標準之前試用功能。通常情況下,預覽版本會在首次預覽發布兩周後升級到當前版本,但有些預覽可能會持續更長時間。您可以通過查看最新預覽版本中的特性發布說明.Databricks不建議對生產工作負載使用預覽版本。該字段是可選的。默認值是CHANNEL_NAME_CURRENT

示例請求

“名稱”“我的編輯SQL倉庫”“cluster_size”“大”“auto_stop_mins”60

得到

端點

HTTP方法

2.0 / sql /倉庫/ {id}

得到

2.0 / sql /端點/ {id}(棄用)

得到

檢索SQL倉庫的信息。

字段名

類型

描述

id

字符串

SQL倉庫ID。

的名字

字符串

SQL倉庫的名稱。

cluster_size

字符串

分配給倉庫的集群的大小:“XXSMALL”“XSMALL”“小”“媒介”“大”“超大”“XXLARGE”“XXXLARGE”“XXXXLARGE”.有關從集群到實例大小的映射,請參見集群規模

auto_stop_mins

INT32

空閑SQL倉庫終止所有集群並停止的時間。

spot_instance_policy

WarehouseSpotInstancePolicy

用於將實例分配到集群的現貨策略。

num_clusters

INT32

分配給倉庫的集群數量。

min_num_clusters

INT32

運行SQL倉庫時可用的最小集群數。

max_num_clusters

INT32

運行SQL倉庫時可用的最大集群數。

num_active_sessions

INT32

在SQL倉庫上運行的活動JDBC和ODBC會話的數量。

狀態

WarehouseState

SQL倉庫的狀態。

creator_name

字符串

創建倉庫的用戶的電子郵件地址。

creator_id

字符串

Databricks創建倉庫的用戶ID。

jdbc_url

字符串

用於使用JDBC向SQL倉庫提交SQL命令的URL。

odbc_params

ODBCParams

使用ODBC向SQL倉庫提交SQL命令所需的主機、路徑、協議和端口信息。

標簽

WarehouseTags

描述倉庫的鍵值對。

健康

WarehouseHealth

倉庫的健康狀況

enable_photon

布爾

查詢是否在加速查詢執行的本機向量化引擎上執行。

enable_serverless_compute

布爾

此SQL倉庫是否為無服務器倉庫。要使用無服務器SQL倉庫,您必須為工作區啟用無服務器SQL倉庫.該字段是可選的。如果工作區禁用了Serverless SQL倉庫,則默認為.如果為工作區啟用了Serverless SQL倉庫,則默認為真正的

通道

通道

SQL倉庫使用當前SQL倉庫計算版本還是預覽版本。預覽版本可以讓您在它成為Databricks SQL標準之前試用功能。通常情況下,預覽版本會在首次預覽發布兩周後升級到當前版本,但有些預覽可能會持續更長時間。您可以通過查看最新預覽版本中的特性發布說明.Databricks不建議對生產工作負載使用預覽版本。該字段是可選的。默認值是CHANNEL_NAME_CURRENT

示例響應

“id”“7 f2629a529869126”“名稱”“MyWarehouse”“大小”“小”“min_num_clusters”1“max_num_clusters”1“auto_stop_mins”0“auto_resume”真正的“num_clusters”0“num_active_sessions”0“狀態”“停止”“creator_name”“user@example.com”“jdbc_url”" jdbc:火花:/ / hostname.staging.cloud.www.eheci.com: 443 /違約;運輸方式= http; ssl = 1; AuthMech = 3; httpPath = / sql / 1.0 /倉庫/ 7 f2629a529869126;”“odbc_params”“主機名”“hostname.cloud.www.eheci.com”“路徑”“/ sql / 1.0 /倉庫/ 7 f2629a529869126”“協議”“https”“端口”443},“標簽”“custom_tags”“關鍵”“mykey”“價值”“括號”},“spot_instance_policy”“COST_OPTIMIZED”“enable_photon”真正的“cluster_size”“小”“enable_serverless_compute”真正的“通道”“名稱”“CHANNEL_NAME_CURRENT”

列表

端點

HTTP方法

2.0 / sql /倉庫/

得到

2.0 / sql /端點(棄用)

得到

列出工作區中的所有SQL倉庫。

示例響應

“倉庫”“id”“123456790六邊形abcdef”“名稱”“我的SQL倉庫”“cluster_size”“媒介”},“id”“098765321 fedcba”“名稱””另一個SQL倉庫”“cluster_size”“大”

注意:如果使用已棄用的2.0 / sql /端點API中,頂級響應字段將是“端點”而不是“倉庫”。

開始

端點

HTTP方法

2.0 / sql /倉庫/ {id} /開始

帖子

2.0 / sql /端點/ {id} /開始(棄用)

帖子

啟動一個SQL倉庫。

停止

端點

HTTP方法

2.0 / sql /倉庫/ {id} /停止

帖子

2.0 / sql /端點/ {id} /停止(棄用)

帖子

停止SQL倉庫。

全球SQL倉庫API

使用這個API為所有SQL倉庫配置安全策略、實例配置文件、數據訪問屬性和配置參數。

在本節中:

得到

端點

HTTP方法

/ 2.0 / sql / config /倉庫

得到

/ 2.0 / sql / config /端點(棄用)

得到

獲取所有SQL倉庫的配置。

字段名

類型

描述

security_policy

WarehouseSecurityPolicy

用於控製對數據集的訪問的策略。

data_access_config

的數組WarehouseConfPair

類的屬性的鍵值對數組外部蜂巢metastore

sql_configuration_parameters

RepeatedWarehouseConfPairs

SQL配置參數

instance_profile_arn

字符串

實例配置文件用於從SQL倉庫訪問存儲。

示例響應

“security_policy”“DATA_ACCESS_CONTROL”“data_access_config”“關鍵”“spark.sql.hive.metastore.jars”“價值”“/磚/ hive_metastore_jars / *”),“sql_configuration_parameters”“configuration_pairs”“關鍵”“legacy_time_parser_policy”“價值”“遺產”},“instance_profile_arn”“攻擊:aws:我::336924118301:角色/測試”

編輯

編輯所有SQL倉庫的配置。

重要的

  • 所有字段都是必需的。

  • 調用此方法將重新啟動所有正在運行的SQL倉庫。

端點

HTTP方法

/ 2.0 / sql / config /倉庫

/ 2.0 / sql / config /端點(棄用)

字段名

類型

描述

security_policy

WarehouseSecurityPolicy

用於控製對數據集的訪問的策略。

data_access_config

的數組WarehouseConfPair

類的屬性的鍵值對數組外部蜂巢metastore

sql_configuration_parameters

RepeatedWarehouseConfPairs

SQL配置參數

instance_profile_arn

字符串

實例配置文件用於從SQL倉庫訪問存儲。

示例請求

“data_access_config”“關鍵”“spark.sql.hive.metastore.jars”“價值”“/磚/ hive_metastore_jars / *”),“sql_configuration_parameters”“configuration_pairs”“關鍵”“legacy_time_parser_policy”“價值”“遺產”},“instance_profile_arn”“攻擊:aws:我::336924118301:角色/測試”

數據結構

WarehouseConfPair

字段名

類型

描述

關鍵

字符串

配置鍵名。

價值

字符串

配置鍵值。

WarehouseHealth

字段名

類型

描述

狀態

WarehouseStatus

倉庫的地位。

消息

字符串

關於運行狀況狀態的描述性消息。包括有關導致當前運行狀況狀態的錯誤的信息。

WarehouseSecurityPolicy

選項

描述

DATA_ACCESS_CONTROL

使用數據訪問控製控製對數據集的訪問。

WarehouseSpotInstancePolicy

選項

描述

COST_OPTIMIZED

為集群驅動程序使用按需實例,為集群執行程序使用現場實例。現貨最高價格為按需價格的100%。這是默認策略。

RELIABILITY_OPTIMIZED

為所有集群節點使用按需實例。

WarehouseState

SQL倉庫的狀態。允許的狀態轉換為:

  • 開始->開始運行停止刪除

  • 運行->停止刪除

  • 停止->停止開始

  • 停止->開始刪除

  • 刪除->刪除

狀態

描述

開始

倉庫正在開工中。

運行

啟動過程已經完成,倉庫可以使用了。

停止

倉庫正在被關閉的過程中。

停止

倉庫停了。通過調用Start或提交JDBC或ODBC請求開始。

刪除

倉庫正在被摧毀。

刪除

倉庫已被刪除,無法恢複。

WarehouseStatus

狀態

描述

健康的

倉庫運行正常,沒有已知的問題。

退化

倉庫可能沒問題,但還有一些已知的問題。可能會影響性能。

失敗的

倉庫受到嚴重影響,將無法處理查詢。

WarehouseTags

字段名

類型

描述

custom_tags

的數組WarehouseTagPair

包含鍵值對數組的對象。

WarehouseTagPair

字段名

類型

描述

關鍵

字符串

標簽鍵名。

價值

字符串

標簽鍵值。

ODBCParams

字段名

類型

描述

宿主

字符串

ODBC服務器主機名。

路徑

字符串

ODBC服務器路徑。

協議

字符串

ODBC服務器協議。

港口

INT32

ODBC服務器端口

RepeatedWarehouseConfPairs

字段名

類型

描述

configuration_pairs

的數組WarehouseConfPair

包含鍵值對數組的對象。

通道

字段名

類型

描述

的名字

ChannelName

通道名稱

ChannelName

的名字

描述

CHANNEL_NAME_PREVIEW

SQL倉庫被設置為預覽通道,並使用即將到來的功能。

CHANNEL_NAME_CURRENT

SQL倉庫設置為當前通道。