如何通过Databricks API创建启用Photon的实例池?
解决Databricks API创建实例池启用Photon的问题
实例池本身并不直接支持通过API设置runtime_engine或preloaded_runtime_engine参数——Photon是集群运行时层面的配置,而非实例池的属性,这就是你添加这两个参数无效的原因。正确的实现方式如下:
步骤1:修正实例池创建的Payload
你的preloaded_spark_versions指定的12.0.x-scala2.12是支持Photon的(Databricks Runtime 7.3及以上版本均支持Photon),但需要移除实例池Payload中无效的runtime_engine和preloaded_runtime_engine参数,这两个参数仅适用于集群创建API,而非实例池API。
修正后的实例池Payload:
payload = { "instance_pool_name": f"DRIVER - {instance_type}", "node_type_id": instance_type, "idle_instance_autotermination_minutes": 4, "enable_elastic_disk": True, "max_capacity": 300, "min_idle_instances": 0, "preloaded_spark_versions": ["12.0.x-scala2.12"], "aws_attributes":{ "availability":"SPOT", "zone_id": "us-east-1a", "spot_bid_price_percent": 100 }, "custom_tags":[ {...} ] }
步骤2:在关联实例池的集群中启用Photon
当你通过API创建集群并关联该实例池时,在集群的Payload中添加runtime_engine: "PHOTON"参数即可启用Photon功能,示例集群Payload:
cluster_payload = { "cluster_name": "Photon-Cluster-Using-Pool", "instance_pool_id": "<你的实例池ID>", "spark_version": "12.0.x-scala2.12", "runtime_engine": "PHOTON", # 其他集群配置项... }
关键说明
- 实例池的核心作用是预配置计算资源(实例类型、预加载Spark版本等),但运行时引擎(如Photon)属于集群启动时的指定属性,无需在实例池层面配置。
- 只要实例池预加载的Spark版本支持Photon,关联的集群就能通过
runtime_engine参数启用该功能。
内容的提问来源于stack exchange,提问作者MaxAirheart
相关产品推荐
相关产品推荐

