Apache Zeppelin Notebook REST API 完全指南

Apache Zeppelin Notebook REST API 完全指南

概述

Apache Zeppelin 是一个强大的开源数据分析工具,它提供了丰富的 REST API 接口,允许开发者通过编程方式与 Zeppelin 服务器进行交互。这些 API 覆盖了 Notebook 的创建、管理、执行等各个方面,为自动化工作流和系统集成提供了极大便利。

基础信息

所有 Zeppelin REST API 都基于以下基础端点:

http://[zeppelin-server]:[zeppelin-port]/api

API 请求和响应都采用 JSON 格式,建议使用 JSON 查看器来更好地处理这些数据。

Notebook 操作

1. 获取 Notebook 列表

功能:获取服务器上所有可用的 Notebook 列表。

请求方式:GET

端点/api/notebook

响应示例

{
  "status": "OK",
  "body": [
    {"path":"Homepage", "id":"2AV4WUEMK"},
    {"path":"Zeppelin Tutorial", "id":"2A94M5J1Z"}
  ]
}

2. 创建新 Notebook

功能:创建一个新的 Notebook,可以指定名称和初始段落。

请求方式:POST

端点/api/notebook

请求体示例(简单创建)

{"name": "我的新 Notebook"}

请求体示例(带初始段落)

{
  "name": "数据分析 Notebook",
  "paragraphs": [
    {
      "title": "数据加载",
      "text": "%spark\nval data = spark.read.csv('data.csv')"
    }
  ]
}

响应示例

{
  "status": "OK",
  "body": "2AZPHY918"
}

3. 获取 Notebook 详细信息

功能:获取指定 Notebook 的完整信息,包括所有段落内容。

请求方式:GET

端点/api/notebook/[noteId]

响应示例

{
  "status": "OK",
  "body": {
    "paragraphs": [
      {
        "text": "%sql SELECT * FROM users",
        "results": {
          "code": "SUCCESS",
          "msg": [{"type": "TABLE", "data": "id\tname\n1\tAlice\n2\tBob"}]
        }
      }
    ],
    "name": "数据分析 Notebook",
    "id": "2A94M5J1Z"
  }
}

4. 删除 Notebook

功能:删除指定的 Notebook。

请求方式:DELETE

端点/api/notebook/[noteId]

响应示例

{"status": "OK"}

5. 克隆 Notebook

功能:克隆一个现有的 Notebook,可以选择指定特定版本。

请求方式:POST

端点/api/notebook/[noteId]

请求体示例

{
  "name": "数据分析 Notebook - 副本",
  "revisionId": "rev123"
}

6. 重命名 Notebook

功能:修改 Notebook 的名称。

请求方式:PUT

端点/api/notebook/[noteId]/rename

请求体示例

{"name": "数据分析 Notebook - 新版"}

段落操作

1. 创建新段落

功能:在指定 Notebook 中创建新段落。

请求方式:POST

端点/api/notebook/[noteId]/paragraph

请求体示例

{
  "title": "数据可视化",
  "text": "%spark\n// 可视化代码",
  "index": 1
}

2. 获取段落信息

功能:获取指定段落的详细信息。

请求方式:GET

端点/api/notebook/[noteId]/paragraph/[paragraphId]

3. 执行 Notebook 所有段落

功能:执行 Notebook 中的所有段落。

请求方式:POST

端点/api/notebook/job/[noteId]

4. 停止执行 Notebook 所有段落

功能:停止正在执行的 Notebook 所有段落。

请求方式:DELETE

端点/api/notebook/job/[noteId]

导入导出操作

1. 导出 Notebook

功能:将 Notebook 导出为 JSON 格式。

请求方式:GET

端点/api/notebook/export/[noteId]

2. 导入 Notebook

功能:从 JSON 文件导入 Notebook。

请求方式:POST

端点/api/notebook/import

最佳实践

  1. 错误处理:始终检查 API 响应中的状态码和错误信息。
  2. 批量操作:对于大量 Notebook 管理,考虑使用脚本结合这些 API。
  3. 版本控制:利用克隆功能时,可以指定 revisionId 来获取特定版本。
  4. 自动化工作流:结合执行 API 可以构建自动化数据分析流水线。

总结

Apache Zeppelin 的 Notebook REST API 提供了完整的管理和执行功能,使得 Zeppelin 可以轻松集成到各种数据分析和自动化工作流中。无论是简单的 Notebook 管理,还是复杂的自动化数据处理,这些 API 都能提供强大的支持。

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值