使用请求模块的python databricks api包装器
databricksapi的Python项目详细描述
databricks api文档
这个包是databricks api的一个python实现,用于结构化和编程使用。此python实现要求将databricks api令牌保存为系统中的环境变量:export databricks_token=my_databricks_token
在osx/linux中。或者在windows中,通过在"开始"菜单中搜索系统环境变量并将其添加到编辑器中。有关详细信息,请参阅本指南。
安装
您可以使用pip install databricksapi
全局安装它,也可以克隆存储库。请注意,仅保证与python 3.7+兼容。
包括API
- 代币
- 秘密
- 簇
- scim(实验)
- 工作
- dbfs
- 组
- 实例配置文件
- 库
- 工作区
进口
以上模块可按如下方式导入
fromdatabricksapiimportToken,Jobs,DBFSurl='https://url.for.databricks.net'token_instance=Token(url)jobs_instance=Jobs(url)
令牌API
令牌api允许任何用户创建、列出和撤销可用于验证和访问databricks restapi的令牌。此api的初始身份验证与所有databricks api端点的身份验证相同。
方法
- createToken(生存期秒数,注释)
- listTokens()
- 撤销令牌(令牌ID) < > >
- 创建secretscope(作用域,初始管理主体)
- 删除secretscope(范围)
- listsecretscopes()
- putseceret(值,值类型,范围,键)
- 删除机密(范围,键)
- 列表机密(范围)
- putsecretacl(作用域,主体,权限)
- 删除secretacl(范围,主体)
- getsecretacl(*范围,主体)
- listsecretacl(范围,主体) < > >
- 创建群集(worker,worker_type,群集名称,火花版本,群集日志配置,节点类型,驱动程序节点_type_id=none,火花配置=none,aws_attributes=none,ssh_public_keys=none,自定义标记=无,初始化脚本=无,火花环境变量=无,自动终止分钟=无,启用弹性磁盘=无)
- editcluster(worker,worker_type,cluster_name,spark_version,cluster_log_conf,node_type_id,driver_node_type_id=none,spark_conf=none,aws_attributes=none,ssh_public_keys=none,自定义标记=无,初始化脚本=无,火花环境变量=无,自动终止分钟=无,启用弹性磁盘=无)
- StartCluster(群集ID)
- 重新启动群集(群集ID)
- resizecluster(集群id,工人,工人类型)
- 终端集群(集群id)
- 删除群集(群集ID)
- 获取群集(群集ID)
- pincluster(群集id)
- 取消包含(群集ID)
- listclusters()
- listnodetypes()
- listZones()
- getSparkversions()
- GetClusterEvents(群集ID,顺序='desc',开始时间=无,结束时间=无,事件类型=无,偏移=无,限制=无) < > >
- 创建作业(群集,群集类型,任务,任务类型,名称,库=无,电子邮件通知=无,超时秒=无,最大重试次数=无,最小重试间隔=无,重试时间=无,重试时间=无,schedule=none,max_concurrent_runs=none)
- listJobs()
- 删除作业(作业id)
- 批删除(*args)
- 获取作业(作业id)
- 重置作业(作业id,新设置)
- 运行作业(作业_ id,作业类型,参数)
- runssubmit(运行名称,群集,任务,群集类型,任务类型,库=无,超时秒=无)
- 运行列表(运行,运行类型,作业ID,偏移量,限制)
- 运行集(运行ID)
- runsexport(运行ID,视图到导出)
- runscancel(运行ID)
- runsgetoutput(运行ID)
- 运行删除(运行ID) < > >
- addblock(数据,句柄)
- 关闭流(句柄)
- 创建文件(路径,覆盖)
- 删除文件(路径,递归)
- 获取状态(路径)
- 列表文件(路径)
- makedirs(路径)
- 移动文件(源路径,目标路径)
- putfiles(路径,覆盖,文件,内容=无)
- 读取文件(路径,偏移量,长度) < > >
- 添加成员(父名称,名称,名称类型)
- 创建组(组名)
- ListGroupMembers(组名,返回'u type='json')
- listgroups()
- 列表父项(名称,名称类型)
- 移除成员(名称,父名称,名称类型)
- 删除组(组名) < > >
- 添加配置文件(配置文件arn,跳过验证=无)
- listprofiles()
- removeProfile() < > >
- 所有群集状态(状态)
- 群集状态(群集ID)
- 安装库(群集ID,库)
- 卸载库(群集ID,库) < > >
- 删除工作区(路径,递归)
- 导出工作区(路径,导出格式,直接下载)
- 获取工作空间状态(路径)
- importworkspace(路径,导出格式,语言,内容,覆盖)
- 列表工作区(路径)
- mkdirswokspace(路径) < > >
创建令牌(生存时间秒,注释)
创建并返回令牌。
url='https://url.for.databricks.net'db_api=Token(url)db_api.createToken(600,'Test token')
listTokens()
列出数据块环境中的所有令牌ID。
url='https://url.for.databricks.net'db_api=Token(url)db_api.listTokens()
撤销令牌(令牌id)
撤消活动的databricks令牌。
url='https://url.for.databricks.net'db_api=Token(url)#token_id can be obtained from using the listTokens() methoddb_api.revokeToken('5715498424f15ee0213be729257b53fc35a47d5953e3bdfd8ed22a0b93b339f4')
机密API
Secrets API允许您管理机密、机密范围和访问权限。
方法
创建secretscope(范围,初始管理原则)
创建新的机密范围。
作用域名称必须由字母数字字符、破折号、下划线和句点组成,并且不能超过128个字符。工作区中作用域的最大数目为100。
url='https://url.for.databricks.net'db_api=Token(url)scope='SomeSecretScope'initial_manage_princial='users'db_api.createSecretScope(scope,initial_manage_princial)
删除secretscope(范围)
删除一个秘密作用域。
url='https://url.for.databricks.net'db_api=Token(url)scope='SomeSecretScope'db_api.deleteSecretScope(scope)
listsecretscopes()
列出工作区中的所有机密作用域
url='https://url.for.databricks.net'db_api=Token(url)db_api.listSecretScopes()
密码(值,值类型,范围,键)
在提供的作用域下插入具有给定名称的机密。如果已存在同名的机密,则此命令将覆盖现有机密的值。服务器在存储机密之前使用机密作用域的加密设置对其进行加密。您必须具有对机密作用域的写入或管理权限。
value_type
参数可以设置为string
或bytes
取决于用户传入的值的类型。
url='https://url.for.databricks.net'db_api=Token(url)#set parametersvalue='BeepBoop'value_type='string'scope='SomeSecretScope'key='uniqueScopekey'db_api.putSecret(value,value_type,scope,key)
删除机密(范围,键)
删除存储在此机密作用域中的机密。您必须具有对机密作用域的写入或管理权限。
url='https://url.for.databricks.net'db_api=Token(url)scope='SomeSecretScope'key='uniqueScopekey'db_api.deleteSecret(scope,key)
列表机密(范围)
列出存储在此作用域中的密钥。这是一个仅限元数据的操作;使用ng这个api。用户需要读取权限才能拨打此电话。
fromdatabricksapiimportToken,Jobs,DBFSurl='https://url.for.databricks.net'token_instance=Token(url)jobs_instance=Jobs(url)0
putsecretacl(作用域,主体,权限)
在指定的作用域点上创建或覆盖与给定主体(用户或组)关联的ACL。一般来说,用户或组将使用对他们可用的最强大的权限
fromdatabricksapiimportToken,Jobs,DBFSurl='https://url.for.databricks.net'token_instance=Token(url)jobs_instance=Jobs(url)1
删除秘书(范围,主体)
删除给定作用域上的给定ACL。
fromdatabricksapiimportToken,Jobs,DBFSurl='https://url.for.databricks.net'token_instance=Token(url)jobs_instance=Jobs(url)2
getsecretacl(*范围,主体)
描述有关给定ACL的详细信息,例如组和权限。
fromdatabricksapiimportToken,Jobs,DBFSurl='https://url.for.databricks.net'token_instance=Token(url)jobs_instance=Jobs(url)3
列表秘书(范围,主体)
列出给定作用域上设置的ACL。
fromdatabricksapiimportToken,Jobs,DBFSurl='https://url.for.databricks.net'token_instance=Token(url)jobs_instance=Jobs(url)4
群集API
集群api允许您通过api创建、启动、编辑、列出、终止和删除集群。对群集API的请求的最大允许大小为10MB。
方法
创建群集(工作进程,工作进程类型,群集名称,火花版本,群集日志配置,节点类型ID,驱动程序节点类型ID=none,火花配置=none,AWS属性=none,ssh公共密钥=none,自定义标记=无,初始化脚本=无,火花环境变量=无,自动终止分钟=无,启用弹性磁盘=无)
创建新的火花簇。如果需要,此方法将从云提供程序获取新实例。此方法是异步的;返回的群集ID可用于轮询群集状态。当此方法返回时,群集处于挂起状态。一旦进入运行状态,群集就可以使用。
worker_type
可以是workers
或autoscale
。如果设置了"自动缩放",则必须指定"最小工时数"和"最大工时数"。
fromdatabricksapiimportToken,Jobs,DBFSurl='https://url.for.databricks.net'token_instance=Token(url)jobs_instance=Jobs(url)5
editcluster(worker,worker_type,cluster_name,spark_version,cluster_log_conf,node_type_id,driver_node_type_id=none,spark_conf=none,aws_attributes=none,ssh_public_keys=none,自定义标记=无,初始化脚本=无,火花环境变量=无,自动终止分钟=无,启用弹性磁盘=无)
编辑现有群集配置。
wworker_type
可以是workers
或autoscale
。如果设置了"自动缩放",则必须指定"最小工时数"和"最大工时数"。
fromdatabricksapiimportToken,Jobs,DBFSurl='https://url.for.databricks.net'token_instance=Token(url)jobs_instance=Jobs(url)6
启动群集(群集id);
根据其ID启动终止的火花群集。
fromdatabricksapiimportToken,Jobs,DBFSurl='https://url.for.databricks.net'token_instance=Token(url)jobs_instance=Jobs(url)7
重新启动群集(群集ID)
根据星火群集的ID重新启动该群集。如果该群集未处于运行状态,则不会发生任何事情。
fromdatabricksapiimportToken,Jobs,DBFSurl='https://url.for.databricks.net'token_instance=Token(url)jobs_instance=Jobs(url)8
resizecluster(集群id,工人,工人类型)
调整群集的大小,使其具有所需的工作线程数。除非群集处于运行状态,否则将失败。
参数worker_type
可以是workers
或autoscale
fromdatabricksapiimportToken,Jobs,DBFSurl='https://url.for.databricks.net'token_instance=Token(url)jobs_instance=Jobs(url)9
终端群集(群集ID)
根据其ID终止Spark群集。将异步删除该群集。一旦终止完成,集群将处于终止状态。如果群集已处于终止或终止状态,则不会发生任何事情。
url='https://url.for.databricks.net'db_api=Token(url)db_api.createToken(600,'Test token')0
删除群集(群集ID)
永久删除火花团。如果集群正在运行,它将被终止,并且其资源将被异步删除。如果群集终止,则立即将其删除。
无法对永久删除的群集执行任何操作,并且群集列表中不再返回永久删除的群集。
url='https://url.for.databricks.net'db_api=Token(url)db_api.createToken(600,'Test token')1
获取群集(群集ID)
返回有关所有固定群集、当前活动群集、过去30天内最多70个最近终止的交互式群集以及过去30天内最多30个最近终止的作业群集的信息。
url='https://url.for.databricks.net'db_api=Token(url)db_api.createToken(600,'Test token')2
pincluster(集群id)
固定群集可确保该群集始终由列表API返回。固定已固定的群集没有效果。
url='https://url.for.databricks.net'db_api=Token(url)db_api.createToken(600,'Test token')3
取消包含(群集ID)
取消绑定集群将允许集群最终从列表api返回的列表中移除。取消固定未固定的群集不会有任何效果。
url='https://url.for.databricks.net'db_api=Token(url)db_api.createToken(600,'Test token')4
listclusters()
检索给定其标识符的群集的信息。群集可以在运行时进行描述,也可以在终止后30天内进行描述。
url='https://url.for.databricks.net'db_api=Token(url)db_api.createToken(600,'Test token')5
列表节点类型()
返回支持的Spark节点类型的列表。这些节点类型可用于启动群集。
url='https://url.for.databricks.net'db_api=Token(url)db_api.createToken(600,'Test token')6
列表区域()
返回可在其中创建群集的可用区域列表(例如:US-WEST-2A)。这些区域可用于启动群集。
url='https://url.for.databricks.net'db_api=Token(url)db_api.createToken(600,'Test token')7
getsparkversions()
返回可用Spark版本的列表。这些版本可用于启动群集。
url='https://url.for.databricks.net'db_api=Token(url)db_api.createToken(600,'Test token')8
获取群集事件(群集ID,顺序='desc',开始时间=无,结束时间=无,事件类型=无,偏移=无,限制=无)
检索有关群集活动的事件列表。此API已分页。如果要读取的事件更多,则响应包含请求下一页事件所需的所有参数。
url='https://url.for.databricks.net'db_api=Token(url)db_api.createToken(600,'Test token')9
作业API
作业api允许您通过api创建、编辑和删除作业。对作业API的请求的最大允许大小为10MB。
方法
createjob(cluster,cluster\u类型,任务,任务任务类型,名称,libraries=none,电子邮件通知=none,timeout\u seconds=none,max\u retries=none,max\u retries=none,max>max\u retries=none,最短重试间隔时间=none,em>,重试重试间隔时间=none>n>我是说,调度=无,最大并发运行数=无)
群集类型
参数可以是现有
或新
之一。
任务类型
参数必须是笔记本
、jar
、提交
或python
所有其他参数都记录在databricks rest api中。
批删除(*args)
接受要删除的作业ID的逗号分隔列表。此方法是deleteJob
方法的包装器。
运行作业(作业id,作业类型,参数)
作业类型
参数必须是笔记本
、jar
、提交
或python
运行提交(运行名称,群集,任务,群集类型,任务类型,库=无,超时秒=无)
群集类型
参数可以是现有的
或新的
运行列表(运行,运行类型,作业ID,偏移量,限制)
运行类型
参数必须是已完成
或活动
dbfs api
dbfs api是一个databricks api,它使得与各种数据源交互变得简单,而无需每次读取文件时都包含您的凭据。
方法
组API
groups api允许您通过api管理用户组。您必须是databricks管理员才能调用此api。
方法
列表组成员(组名,返回'u type='json')
默认的return_type
可以是json
或list
之一,默认情况下,参数设置为json
。这是为了简化从默认返回时间中提取用户名的过程,这可能会很麻烦。
列出父项(名称,名称类型)
名称类型
参数必须是用户
或组
移除成员(名称,父名称,名称类型)
name_type
参数必须是用户
或组
实例配置文件API
实例配置文件api允许管理员添加、列出和删除用户可以启动集群的实例配置文件。普通用户可以列出可用的实例配置文件。
方法
库API
库api允许您安装和卸载库,并通过api获取集群上库的状态。