# 解釋器 API
原文鏈接 : [http://zeppelin.apache.org/docs/0.7.2/rest-api/rest-interpreter.html](http://zeppelin.apache.org/docs/0.7.2/rest-api/rest-interpreter.html)
譯文鏈接 : [http://www.apache.wiki/pages/viewpage.action?pageId=10030697](http://www.apache.wiki/pages/viewpage.action?pageId=10030697)
貢獻者 : [小瑤](/display/~chenyao) [ApacheCN](/display/~apachecn) [Apache中文網](/display/~apachechina)
## Overview ( 概述 )
**Apache Zeppelin** 提供了幾個 **REST API** ,用于交互和遠程激活 **zeppelin** 功能。所有 **REST API** 都可以從以下端點。請注意,**Apache Zeppelin REST API** 接收或返回 **JSON** 對象,建議您安裝 **JSON** 查看器如 **[JSONView](https://chrome.google.com/webstore/detail/jsonview/chklaanhfefbnpoihckbnefhakgolnmc) **。
如果您使用?**Apache Zeppelin** 并發現需要一個額外的 **REST API** ,請 [提出問題或向我們發送電子郵件](http://zeppelin.apache.org/community.html) 。
## 解釋器REST API列表
這里介紹了?**registered interpreters** ,?**settings** ( 設置 ) 和?**interpreters group** 的作用。
### 注冊解釋器人員名單
| 描述 | 該 GET 方法返回服務器上可用的 all the registered interpreters ( 所有已注冊的解釋器 ) 。 |
| URL | http://[zeppelin-server]:[zeppelin-port]/api/interpreter |
| 成功代碼 | 200 |
| 失敗代碼 | 500 |
| JSON 響應示例 |
```
{
"status": "OK",
"message": "",
"body": {
"md.md": {
"name": "md",
"group": "md",
"className": "org.apache.zeppelin.markdown.Markdown",
"properties": {},
"path": "/zeppelin/interpreter/md"
},
"spark.spark": {
"name": "spark",
"group": "spark",
"className": "org.apache.zeppelin.spark.SparkInterpreter",
"properties": {
"spark.executor.memory": {
"defaultValue": "1g",
"description": "Executor memory per worker instance. ex) 512m, 32g"
},
"spark.cores.max": {
"defaultValue": "",
"description": "Total number of cores to use. Empty value uses all available core."
},
},
"path": "/zeppelin/interpreter/spark"
},
"spark.sql": {
"name": "sql",
"group": "spark",
"className": "org.apache.zeppelin.spark.SparkSqlInterpreter",
"properties": {
"zeppelin.spark.maxResult": {
"defaultValue": "1000",
"description": "Max number of Spark SQL result to display."
}
},
"path": "/zeppelin/interpreter/spark"
}
}
}
```
|
### 注冊解釋器設定清單
| 描述 | 該 GET 方法返回服務器上注冊的所有解釋器設置。 |
| URL | http://[zeppelin-server]:[zeppelin-port]/api/interpreter/setting |
| 成功代碼 | 200 |
| 失敗代碼 | 500 |
| JSON 響應示例 |
```
{
"status": "OK",
"message": "",
"body": [
{
"id": "2AYUGP2D5",
"name": "md",
"group": "md",
"properties": {
"empty": ""
},
"interpreterGroup": [
{
"class": "org.apache.zeppelin.markdown.Markdown",
"name": "md"
}
],
"dependencies": []
},
{
"id": "2AY6GV7Q3",
"name": "spark",
"group": "spark",
"properties": {
"spark.cores.max": "",
"spark.executor.memory": "1g",
},
"interpreterGroup": [
{
"class": "org.apache.zeppelin.spark.SparkInterpreter",
"name": "spark"
},
{
"class": "org.apache.zeppelin.spark.SparkSqlInterpreter",
"name": "sql"
}
],
"dependencies": [
{
"groupArtifactVersion": "com.databricks:spark-csv_2.10:1.3.0"
}
]
}
]
}
```
|
### 通過設置 ID 獲取注冊的解釋器設置
| 描述 | 該 GET 方法在服務器上返回已注冊的解釋器設置 |
| URL | http://[zeppelin-server]:[zeppelin-port]/api/interpreter/setting/[setting ID] |
| 成功代碼 | 200 |
| 失敗代碼 | 400 如果這樣的解釋器設置 id 不存在500 任何其他錯誤 |
| JSON 響應示例 |
```
{
"status": "OK",
"message": "",
"body": {
"id": "2AYW25ANY",
"name": "Markdown setting name",
"group": "md",
"properties": {
"propname": "propvalue"
},
"interpreterGroup": [
{
"class": "org.apache.zeppelin.markdown.Markdown",
"name": "md"
}
],
"dependencies": [
{
"groupArtifactVersion": "groupId:artifactId:version",
"exclusions": [
"groupId:artifactId"
]
}
]
}
}
```
|
### 創建一個新的解釋器設置?
| 描述 | 此 POST 方法使用注冊的解釋器將新的解釋器設置添加到服務器。 |
| URL | http://[zeppelin-server]:[zeppelin-port]/api/interpreter/setting |
| 成功代碼 | 201 |
| 失敗代碼 | 400 如果輸入 JSON 為空500 則為其他任何錯誤 |
| 示例 JSON 輸入 |
```
{
"name": "Markdown setting name",
"group": "md",
"properties": {
"propname": "propvalue"
},
"interpreterGroup": [
{
"class": "org.apache.zeppelin.markdown.Markdown",
"name": "md"
}
],
"dependencies": [
{
"groupArtifactVersion": "groupId:artifactId:version",
"exclusions": [
"groupId:artifactId"
]
}
]
}
```
|
| 示例 JSON 響應 |
```
{
"status": "CREATED",
"message": "",
"body": {
"id": "2AYW25ANY",
"name": "Markdown setting name",
"group": "md",
"properties": {
"propname": "propvalue"
},
"interpreterGroup": [
{
"class": "org.apache.zeppelin.markdown.Markdown",
"name": "md"
}
],
"dependencies": [
{
"groupArtifactVersion": "groupId:artifactId:version",
"exclusions": [
"groupId:artifactId"
]
}
]
}
}
```
|
### 更新解釋器設置
| 描述 | 此 PUT 方法使用新屬性更新解釋器設置 |
| URL | http://[zeppelin-server]:[zeppelin-port]/api/interpreter/setting/[interpreter ID] |
| 成功代碼 | 200 |
| 失敗代碼 | 500 |
| 示例 JSON 輸入 |
```
{
"name": "Markdown setting name",
"group": "md",
"properties": {
"propname": "Otherpropvalue"
},
"interpreterGroup": [
{
"class": "org.apache.zeppelin.markdown.Markdown",
"name": "md"
}
],
"dependencies": [
{
"groupArtifactVersion": "groupId:artifactId:version",
"exclusions": [
"groupId:artifactId"
]
}
]
}
```
|
| 示例 JSON 響應 |
```
{
"status": "OK",
"message": "",
"body": {
"id": "2AYW25ANY",
"name": "Markdown setting name",
"group": "md",
"properties": {
"propname": "Otherpropvalue"
},
"interpreterGroup": [
{
"class": "org.apache.zeppelin.markdown.Markdown",
"name": "md"
}
],
"dependencies": [
{
"groupArtifactVersion": "groupId:artifactId:version",
"exclusions": [
"groupId:artifactId"
]
}
]
}
}
```
|
### 刪除解釋器設置
| 描述 | 此 DELETE 方法刪除給定的解釋器設置 |
| URL | http://[zeppelin-server]:[zeppelin-port]/api/interpreter/setting/[interpreter ID] |
| 成功代碼 | 200 |
| 失敗代碼 | 500 |
| 示例 JSON 響應 | {"status":"OK"} |
### 重新啟動解釋器
| 描述 | 此 PUT 方法重新啟動給定的解釋器標識。 |
| URL | http://[zeppelin-server]:[zeppelin-port]/api/interpreter/setting/restart/[interpreter ID] |
| 成功代碼 | 200 |
| 失敗代碼 | 500 |
| JSON 輸入示例(可選) |
```
{
“noteId”:“2AVQJVC8N”
}
```
|
| 示例 JSON 響應 | {"status":"OK"} |
### 添加用于依賴關系解析的新存儲庫
| 描述 | 此 POST 方法添加新的存儲庫。 |
| URL | http://[zeppelin-server]:[zeppelin-port]/api/interpreter/repository |
| 成功代碼 | 201 |
| 失敗代碼 | 500 |
| 示例 JSON 輸入 |
```
{
"id": "securecentral",
"url": "https://repo1.maven.org/maven2",
"snapshot": false
}
```
|
| 示例 JSON 響應 | {"status":"OK"} |
### 刪除依賴關系解析的存儲庫
| 描述 | 此 DELETE 方法刪除具有給定 ID 的存儲庫。 |
| URL | http://[zeppelin-server]:[zeppelin-port]/api/interpreter/repository/[repository ID] |
| 成功代碼 | 200 |
| 失敗代碼 | 500 |
- 快速入門
- 什么是Apache Zeppelin?
- 安裝
- 配置
- 探索Apache Zeppelin UI
- 教程
- 動態表單
- 發表你的段落
- 自定義Zeppelin主頁
- 升級Zeppelin版本
- 從源碼編譯
- 使用Flink和Spark Clusters安裝Zeppelin教程
- 解釋器
- 概述
- 解釋器安裝
- 解釋器依賴管理
- 解釋器的模擬用戶
- 解釋員執行Hook(實驗)
- Alluxio 解釋器
- Beam 解釋器
- BigQuery 解釋器
- Cassandra CQL 解釋器
- Elasticsearch 解釋器
- Flink 解釋器
- Geode/Gemfire OQL 解釋器
- HBase Shell 解釋器
- HDFS文件系統 解釋器
- Hive 解釋器
- Ignite 解釋器
- JDBC通用 解釋器
- Kylin 解釋器
- Lens 解釋器
- Livy 解釋器
- Markdown 解釋器
- Pig 解釋器
- PostgreSQL, HAWQ 解釋器
- Python 2&3解釋器
- R 解釋器
- Scalding 解釋器
- Scio 解釋器
- Shell 解釋器
- Spark 解釋器
- 系統顯示
- 系統基本顯示
- 后端Angular API
- 前端Angular API
- 更多
- 筆記本存儲
- REST API
- 解釋器 API
- 筆記本 API
- 筆記本資源 API
- 配置 API
- 憑據 API
- Helium API
- Security ( 安全 )
- Shiro 授權
- 筆記本 授權
- 數據源 授權
- Helium 授權
- Advanced ( 高級 )
- Zeppelin on Vagrant VM ( Zeppelin 在 Vagrant 虛擬機上 )
- Zeppelin on Spark Cluster Mode( Spark 集群模式下的 Zeppelin )
- Zeppelin on CDH ( Zeppelin 在 CDH 上 )
- Contibute ( 貢獻 )
- Writing a New Interpreter ( 寫一個新的解釋器 )
- Writing a new Visualization (Experimental) ( 編寫新的可視化(實驗) )
- Writing a new Application (Experimental) ( 寫一個新的應用程序( 實驗 ) )
- Contributing to Apache Zeppelin ( Code ) ( 向 Apache Zeppelin 貢獻( 代碼 ) )
- Contributing to Apache Zeppelin ( Website ) ( 向 Apache Zeppelin 貢獻(website) )