SuperAPI AI 工具集

spark-consumption-cli

数据与分析

查看项目

更新于 10-16 00:31

技能介绍

用途:针对 Microsoft Fabric Lakehouse 进行交互式临时 Spark 数据分析,通过公共 Lakehouse Livy API 管理会话并执行 PySpark 语句。仅限 Livy 会话,绝不编写、生成或运行 Notebook 单元格;涉及 %%sql、%%configure、Notebook 部署或执行的需求属于 spark-authoring-cli。

主要能力:工作区与 Lakehouse 发现(按名称用 JMESPath 过滤查找 ID);Lakehouse Livy 会话的创建、状态查询、生命周期与终止;交互式数据探索(语句执行、结果获取、数据发现);PySpark 分析模式(跨 Lakehouse 三段式命名、性能优化);OneLake 表 API(启用 Schema 的 Lakehouse,需 storage.azure.com 令牌);SQL/TDS 数据面访问(sqlcmd 连接、查询、CSV 导出);OneLake 快捷方式、容量管理与组合配方;会话清理。

使用方式:先做环境检测设置 $FABRIC_API_BASE、$FABRIC_RESOURCE_SCOPE、$FABRIC_API_URL、$LIVY_API_PATH;使用 az rest 时必须带 --resource https://api.fabric.microsoft.com,否则失败;OneLake 数据访问用 curl(不同令牌受众)。创建会话前先检查是否已有 idle 会话;创建时建议强制使用 Starter Pool(spark.fabric.pool.name 设为 Starter Pool),通常 3-5 秒就绪。执行语句示例:向 sessions/{sessionId}/statements 提交包含 code 与 kind: pyspark 的请求体。每个 api.fabric.microsoft.com 调用(含 LRO 轮询、fabric_lro 与重试)必须带 x-ms-fabric-skill: spark-consumption-cli 头,示例片段省略也要补上。会话首次使用时须先运行 check-updates 技能(Copilot CLI/VS Code)或比较本地与远端 package.json 版本(Claude Code/Cowork/Cursor/Windsurf/Codex),同一会话内只检查一次。

适用场景:需要对 Lakehouse Delta 表做 SELECT、行数统计、Schema 探索、过滤与聚合时,优先用 sqldw-consumption-cli 走 SQL Endpoint;仅当用户明确要求 PySpark、DataFrame 或 Spark 专有特性,或处理非结构化/JSON 数据与复杂 Python 分析时才用本技能。

限制:不要硬编码工作区 ID,避免创建不必要的会话,大结果集须加 LIMIT;勿将 Lakehouse Livy 会话与 Notebook Spark 会话混淆——后者由 Jobs API 的 RunNotebook 内部创建,不由 Livy API 管理;错误受众会导致 401;注意 shell 转义与令牌过期。原文未提供具体价格与配额信息。