用途:在桌面 MATLAB 中通过 Databricks Connect(Spark)读取 Databricks 数据,涵盖首次安装配置、身份验证、Spark 会话创建以及 Spark DataFrame 到 MATLAB table 的转换与回写。
主要能力:提供 setup 完成交互式首次配置(settings、.databrickscfg、通过 pip 下载 Databricks Connect 库);startup 在每会话添加包路径;getDatabricksSession() 创建经典计算会话,serverless=true 创建无集群会话(10 分钟超时);updateClusterId() 修改集群 ID,传 "serverless" 切换无服务器模式;支持 spark.read().table()、spark.table()、spark.sql() 读取 Unity Catalog 表;支持服务端 filter、withColumn、select、limit、show、printSchema;table(DF) 将结果收集为 MATLAB table;matlab.sparkutils.table2dataset() 回写为 Spark DataFrame,并可用 write.mode().format().save()/saveAsTable() 写出。
使用方式:先获取 MATLAB Interface for Databricks 包(需从 MathWorks 合作页面下载),在包目录 Software/MATLAB 下运行交互式 setup;随后终止并设置 pyenv 指向 venv Python,运行 startup,再用 getDatabricksSession(authMethod=...) 创建会话(OauthU2M、OauthM2M 或 PAT),以 spark.range(1) 验证连通。认证信息写入 ~/.databrickscfg,支持多命名 profile,环境变量如 DATABRICKS_HOST、DATABRICKS_TOKEN 可覆盖配置。
适用场景:首次连接 Databricks、需在集群端对大表做过滤后再拉取到 MATLAB、将 MATLAB table 写回 Databricks 表或 Volume 文件。
限制:需 Python 与 Databricks Runtime 版本匹配(如 17.3 对应 3.12),仅支持 Databricks Connect v2;OauthU2M 需浏览器交互,不适合非交互场景;若已加载 Python 则无法中途切换 pyenv,需重启 MATLAB;withColumn 第二个参数必须是 Column 对象(用 lit()/col());写入须显式指定 .mode(),否则目标存在时失败;Session 不活跃可用 forceNewSession=true 重建;SQL/JDBC 小数据查询、集群作业部署、Files API、REST 管理等不在本技能范围。其余价格、收费与平台信息暂未提供。