開始
加載和管理數據
處理數據
政府
引用和資源
2023年4月11日更新
給我們反饋
你可以叫的磚REST API自動化數據磚與Python代碼,而不是使用非Python命令行工具,如旋度郵遞員等或API客戶端。調用數據磚與Python REST API,您可以使用磚CLI的包作為一個圖書館。這個庫是用Python和使您能夠調用磚REST API通過密切的Python類模型磚REST API請求和響應的有效載荷。
旋度
請注意
直接使用Python請求圖書館是另一種方法。但是,你需要工作在較低的水平,手動提供必要的頭文件,處理錯誤,和其他相關底層編碼任務。有關更多信息,請參見使用Python來調用數據磚REST API。
實驗
這個磚CLI正在積極開發和發布實驗客戶端。這意味著接口仍可能發生變化。
磚CLI支持調用下麵的磚REST api:
集群政策API 2.0
集群API 2.0
DBFS API 2.0
組API 2.0
實例池API 2.0
喬布斯API 2.1, 2.0
庫API 2.0
三角洲生活表2.0 API
回購API 2.0
秘密API 2.0
令牌API 2.0
統一目錄API 2.1
工作區API 2.0
磚CLI不支持調用以下磚REST api:
賬戶API 2.0
磚SQL查詢、儀表板和警報API 2.0
磚API 2.0 SQL查詢曆史
磚的SQL API 2.0倉庫
Git憑證API 2.0
2.0全球Init腳本API
IP訪問列表API 2.0
MLflow API 2.0
權限API 2.0
SCIM API 2.0
令牌管理API 2.0
API 1.2
有關詳細信息,請參見磚REST API參考。
Python版本3.6或更高版本。檢查是否安裝了Python,如果檢查安裝的版本,運行python——版本從你的PowerShell的終端。安裝Python如果尚未安裝。
python——版本
python的版本
一些安裝Python的需要python3而不是python。如果是這樣,取代python與python3在這篇文章。
python3
python
的磚CLI。檢查是否數據磚CLI安裝,如果是,檢查安裝的版本運行磚——版本。磚CLI安裝、運行皮普安裝databricks-cli或python- m皮普安裝databricks-cli。
磚——版本
皮普安裝databricks-cli
python- m皮普安裝databricks-cli
#檢查是否數據磚CLI安裝,如果是檢查安裝的版本。磚,版本#安裝磚CLI。pip安裝databricks-cli#還是……python - m pip安裝databricks-cli
一些設施皮普需要pip3而不是皮普。如果是這樣,取代皮普與pip3在這篇文章。
皮普
pip3
你的工作區實例URL例如,https://1234567890123456.7.gcp.www.eheci.com
https://1234567890123456.7.gcp.www.eheci.com
磚的磚個人訪問令牌的工作區。創建一個磚個人訪問令牌,看到的磚個人訪問令牌;另請參閱管理個人訪問令牌。
通過磚與磚REST API進行身份驗證CLI包庫,您的Python代碼需要至少兩條信息:
你的工作區實例URL例如,https://1234567890123456.7.gcp.www.eheci.com。
為代碼模塊化、可移植性和安全,你不應該硬編碼這些信息到您的Python代碼。相反,你應該檢索這些信息在運行時從一個安全的位置。例如,本文中的代碼使用以下環境變量:
DATABRICKS_HOST代表你的工作區實例URL例如,https://1234567890123456.7.gcp.www.eheci.com。
DATABRICKS_HOST
DATABRICKS_TOKEN。磚的磚個人訪問令牌的工作區。創建一個磚個人訪問令牌,看到的磚個人訪問令牌;另請參閱管理個人訪問令牌。
DATABRICKS_TOKEN
你可以設置這些環境變量如下:
設置環境變量隻有當前終端會話,運行以下命令。為所有終端會話,設置環境變量中輸入以下命令shell啟動文件,然後重啟你的終端。這裏的示例值替換為你自己的價值觀。
出口DATABRICKS_HOST=“https://1234567890123456.7.gcp.www.eheci.com”出口DATABRICKS_TOKEN=“dapi1234567890b2cd34ef5a67bc8de90fa12b”
設置環境變量隻有當前PowerShell會話,運行以下命令。這裏的示例值替換為你自己的價值觀。
集DATABRICKS_HOST=“https://1234567890123456.7.gcp.www.eheci.com”集DATABRICKS_TOKEN=“dapi1234567890b2cd34ef5a67bc8de90fa12b”
設置環境變量對所有命令提示會話,運行以下命令,然後重新啟動命令提示符。這裏的示例值替換為你自己的價值觀。
對於setxDATABRICKS_HOST=“https://1234567890123456.7.gcp.www.eheci.com”對於setxDATABRICKS_TOKEN“dapi1234567890b2cd34ef5a67bc8de90fa12b”
在您的Python代碼文件,導入操作係統代碼庫,使環境變量的值。
進口操作係統
導入ApiClient類的databricks_cli.sdk.api_client模塊,使您的代碼與磚REST API進行身份驗證。
ApiClient
從databricks_cli.sdk.api_client進口ApiClient
根據需要導入額外的類,使您的代碼調用磚REST API進行身份驗證後,如下。
REST API
進口語句
進口
從databricks_cli.cluster_policies.api進口ClusterPolicyApi
從databricks_cli.clusters.api進口ClusterApi
從databricks_cli.dbfs.api進口DbfsApi
從databricks_cli.dbfs.dbfs_path進口DbfsPath
從databricks_cli.groups.api進口GroupsApi
從databricks_cli.instance_pools.api進口InstancePoolsApi
喬布斯API 2.1
從databricks_cli.jobs.api進口JobsApi(1)
從databricks_cli.jobs.api進口JobsApi
從databricks_cli.runs.api進口RunsApi(2)
從databricks_cli.runs.api進口RunsApi
從databricks_cli.libraries.api進口LibrariesApi
從databricks_cli.pipelines.api進口PipelinesApi,LibraryObject
從databricks_cli.repos.api進口ReposApi
從databricks_cli.secrets.api進口SecretApi
從databricks_cli.tokens.api進口TokensApi
從databricks_cli.unity_catalog.api進口UnityCatalogApi
從databricks_cli.workspace.api進口WorkspaceApi
(1)隻需要處理的工作。
(2)隻需要處理的工作。
例如,調用集群API 2.0,添加以下代碼:
使用ApiClient類與磚REST API進行身份驗證。使用操作係統圖書館的采用函數的工作區實例URL例如,https://1234567890123456.7.gcp.www.eheci.com和令牌的值。下麵的例子使用的變量名api_client代表的一個實例ApiClient類。
操作係統
采用
api_client
api_client=ApiClient(主機=操作係統。采用(“DATABRICKS_HOST”),令牌=操作係統。采用(“DATABRICKS_TOKEN”))
初始化類的實例來調用磚REST API進行身份驗證後,例如:
建議類初始化語句
cluster_policies_api=ClusterPolicyApi (api_client)
clusters_api=ClusterApi (api_client)
dbfs_api=DbfsApi (api_client)
groups_api=GroupsApi (api_client)
instance_pools_api=InstancePoolsApi (api_client)
jobs_api=JobsApi (api_client)(1)
jobs_api=JobsApi (api_client)
runs_api=RunsApi (api_client)(2)
runs_api=RunsApi (api_client)
libraries_api=LibrariesApi (api_client)
pipelines_api=PipelinesApi (api_client)
repos_api=ReposApi (api_client)
secrets_api=SecretApi (api_client)
tokens_api=TokensApi (api_client)
unity_catalog_api=UnityCatalogApi (api_client)
workspace_api=WorkspaceApi (api_client)
例如,初始化的實例集群API 2.0,添加以下代碼:
clusters_api=ClusterApi(api_client)
根據需要調用類方法對應於磚REST API的操作。找到方法調用簽名和使用筆記,看到以下模塊的文檔在磚CLI的源代碼。
模塊的文檔
databricks_cli.cluster_policies.api
databricks_cli.clusters.api
databricks_cli.dbfs.api
databricks_cli.dbfs.dbfs_path
databricks_cli.groups.api
databricks_cli.instance_pools.api
databricks_cli.jobs.api(1)
databricks_cli.runs.api(2)
databricks_cli.libraries.api
databricks_cli.databricks_cli.pipelines.api
databricks_cli.repos.api
databricks_cli.secrets.api
databricks_cli.tokens.api
databricks_cli.unity_catalog.api
databricks_cli.workspace.api
例如,要使用集群API 2.0在工作區中可用的集群名稱及其id列表,添加以下代碼:
clusters_list=clusters_api。list_clusters()打印(“集群名稱、集群ID”)為集群在clusters_list(“集群”]:打印(f”{集群(“cluster_name”]},{集群(“cluster_id”]}”)
前麵的說明的完整代碼如下:
進口操作係統從databricks_cli.sdk.api_client進口ApiClient從databricks_cli.clusters.api進口ClusterApiapi_client=ApiClient(主機=操作係統。采用(“DATABRICKS_HOST”),令牌=操作係統。采用(“DATABRICKS_TOKEN”))clusters_api=ClusterApi(api_client)clusters_list=cluster_api。list_clusters()打印(“集群名稱、集群ID”)為集群在clusters_list(“集群”]:打印(f”{集群(“cluster_name”]},{集群(“cluster_id”]}”)
下麵的例子展示如何使用Python源代碼磚CLI和自動化的磚REST API的一些基本的使用場景。
進口操作係統從databricks_cli.sdk.api_client進口ApiClient從databricks_cli.dbfs.api進口DbfsApi從databricks_cli.dbfs.dbfs_path進口DbfsPathapi_client=ApiClient(主機=操作係統。采用(“DATABRICKS_HOST”),令牌=操作係統。采用(“DATABRICKS_TOKEN”))dbfs_source_file_path=“dbfs: / tmp /用戶/ someone@example.com//hello-world.txt'local_file_download_path=”。/ hello-world.txt 'dbfs_api=DbfsApi(api_client)dbfs_path=DbfsPath(dbfs_source_file_path)#本地工作區文件下載。dbfs_api。get_file(dbfs_path,local_file_download_path,覆蓋=真正的)#打印下載文件的內容。打印(開放(local_file_download_path,“r”)。讀())
進口操作係統從databricks_cli.sdk.api_client進口ApiClient從databricks_cli.pipelines.api進口PipelinesApiapi_client=ApiClient(主機=操作係統。采用(“DATABRICKS_HOST”),令牌=操作係統。采用(“DATABRICKS_TOKEN”))pipelines_api=PipelinesApi(api_client)pipelines_get=pipelines_api。得到(1234年a56b c789 - 0123 d456 - 78901234 e5f6”)打印(f“名稱:{pipelines_get(“名字”]}\ n”\fID:{pipelines_get(“pipeline_id”]}\ n”\f”狀態:{pipelines_get(“狀態”]}\ n”\f創造者:{pipelines_get(“creator_user_name”]}”)
進口操作係統從databricks_cli.sdk.api_client進口ApiClient從databricks_cli.unity_catalog.api進口UnityCatalogApiapi_client=ApiClient(主機=操作係統。采用(“DATABRICKS_HOST”),令牌=操作係統。采用(“DATABRICKS_TOKEN”))unity_catalog_api=UnityCatalogApi(api_client)目錄=“主要”模式=“my_schema”#創建模式(也稱為一個數據庫)中指定的目錄。unity_catalog_create_schema=unity_catalog_api。create_schema(catalog_name=目錄,schema_name=模式,評論=“這是我的模式”)打印(f”模式:{unity_catalog_create_schema(“名字”]}\ n”\f”老板:{unity_catalog_create_schema(“主人”]}\ n”\f“Metastore ID:{unity_catalog_create_schema(“metastore_id”]}”)#刪除模式。unity_catalog_api。delete_schema(f”{目錄}。{模式}”)
進口操作係統從databricks_cli.sdk.api_client進口ApiClient從databricks_cli.workspace.api進口WorkspaceApi,WorkspaceFileInfoapi_client=ApiClient(主機=操作係統。采用(“DATABRICKS_HOST”),令牌=操作係統。采用(“DATABRICKS_TOKEN”))workspace_api=WorkspaceApi(api_client)workspace_list_objects=workspace_api。list_objects(' /用戶/ someone@example.com/')為對象在workspace_list_objects:打印(對象。to_row(is_long_form=真正的,is_absolute=真正的))