使用Databricks Python SDK创建集群时InitScript配置报错求助
解决Databricks Python SDK配置Init Script时的TypeError问题
报错的核心原因是init_scripts参数要求传入可迭代的集合(如列表),而非单个InitScriptInfo对象。这和cluster_log_conf的参数设计不同——后者本身就接受单个配置对象,而初始化脚本支持同时配置多个,因此SDK要求用列表包裹。
修改代码时,只需把单个InitScriptInfo对象放进列表中即可:
from databricks.sdk import WorkspaceClient from databricks.sdk.service.compute import AutoScale, ClusterLogConf, DbfsStorageInfo, InitScriptInfo, WorkspaceStorageInfo w = WorkspaceClient( host = workspace_host, token = workspace_token ) c = w.clusters.create_and_wait( cluster_name = 'TEST', spark_version = '12.2.x-scala2.12', node_type_id = 'Standard_D4s_v3', autotermination_minutes = 15, autoscale = AutoScale(min_workers=2, max_workers=4), cluster_log_conf = ClusterLogConf(DbfsStorageInfo('dbfs:/cluster-logs')), # 用列表包裹单个InitScriptInfo对象 init_scripts = [InitScriptInfo(WorkspaceStorageInfo('/Shared/filename.sh'))] )
如果需要配置多个初始化脚本,直接在列表中添加更多InitScriptInfo实例即可,比如:
init_scripts = [ InitScriptInfo(WorkspaceStorageInfo('/Shared/script1.sh')), InitScriptInfo(DbfsStorageInfo('dbfs:/scripts/script2.sh')) ]
内容的提问来源于stack exchange,提问作者AndreiGosman
相关产品推荐
相关产品推荐

