Apache Zeppelin学习记录2

Apache Zeppelin学习记录2

文章目录


前言

上一章讲了如何使用zeppelin来接入python,本节我们来看看如何使用RESTful API操作zeppelin的paragraph。


提示:官方API文档见https://zeppelin.apache.org/docs/0.10.1/usage/rest_api/notebook.html

一、基础调用

  1. anonymous模式不需要用户名密码即可直接访问。如图,

    根据API文档我们知道,运行模式有两种,同步和异步,区别在于url不同,

    同步是run:http://[zeppelin-server]:[zeppelin-port]/api/notebook/run/[noteId]/[paragraphId]

    异步是job:http://[zeppelin-server]:[zeppelin-port]/api/notebook/job/[noteId]/[paragraphId]

  2. shiro模式,需要先调用/api/login,然后再调用相应的接口,如图,

二、带参数调用

1.代码块要增加一行z.textbox("folder_path", "input")

具体API说明参考:
https://zeppelin.apache.org/docs/0.10.1/usage/rest_api/notebook.html#run-a-paragraph-synchronously
https://zeppelin.apache.org/docs/0.10.1/usage/dynamic_form/intro.html#text-input-form-1

代码如下(示例):

python 复制代码
%python

import pandas as pd
import os

# 文件夹路径
folder_path = z.textbox("folder_path", "input")

# 读取文件夹中的所有 CSV 文件
csv_files = [f for f in os.listdir(folder_path) if f.endswith('.csv')]

。。。

请求发送时如下,增加body

2.读取result

在 Apache Zeppelin 中,同步方式请求执行paragraph的返回值会把paragraph的输出放在msg.data里,如下截图,需要根据msg.type对data进行进一步分析处理。

异步方式没有直接提供获取某个段落(paragraph)执行结果的特定 API ,如果想要获取段落执行结果,可以考虑以下4种方法:

  1. 通过 Zeppelin Web 页面手动导出结果: 在 Zeppelin 的 Web 界面中,执行你感兴趣的段落,然后手动导出结果。通常,你可以在段落执行后找到一个导出按钮或选项,以将执行结果保存为文件(如 JSON、CSV 等)。这样,你可以手动导出并保存结果数据。

  2. 直接查询 Zeppelin 的数据库: Zeppelin 通常使用数据库(如 Derby)来存储笔记本(notebook)和段落的元数据。你可以直接查询 Zeppelin 的数据库,获取相关段落的执行结果。请注意,直接查询数据库需要对 Zeppelin 的数据库结构有一定的了解,并且这种方法可能涉及到一些安全性和稳定性的考虑。

  3. 将paragraph的输出写入某个特定的文件或数据库中,然后用第三方API去读取这个结果。

  4. 通过notebook获取paragraph的执行结果,执行GET /api/notebook/[notebook id],在得到的response里解析paragraphs的results。


总结

以上就是今天要讲的内容,后面我们可以对zeppelin进行更深入的使用。

相关推荐
奈斯。zs5 分钟前
yjs08——矩阵、数组的运算
人工智能·python·线性代数·矩阵·numpy
Melody20505 分钟前
tensorflow-dataset 内网下载 指定目录
人工智能·python·tensorflow
学步_技术6 分钟前
Python编码系列—Python抽象工厂模式:构建复杂对象家族的蓝图
开发语言·python·抽象工厂模式
Narutolxy40 分钟前
Python 单元测试:深入理解与实战应用20240919
python·单元测试·log4j
Amo Xiang1 小时前
2024 Python3.10 系统入门+进阶(十五):文件及目录操作
开发语言·python
liangbm31 小时前
数学建模笔记——动态规划
笔记·python·算法·数学建模·动态规划·背包问题·优化问题
B站计算机毕业设计超人1 小时前
计算机毕业设计Python+Flask微博情感分析 微博舆情预测 微博爬虫 微博大数据 舆情分析系统 大数据毕业设计 NLP文本分类 机器学习 深度学习 AI
爬虫·python·深度学习·算法·机器学习·自然语言处理·数据可视化
羊小猪~~1 小时前
深度学习基础案例5--VGG16人脸识别(体验学习的痛苦与乐趣)
人工智能·python·深度学习·学习·算法·机器学习·cnn
waterHBO3 小时前
python 爬虫 selenium 笔记
爬虫·python·selenium
编程零零七4 小时前
Python数据分析工具(三):pymssql的用法
开发语言·前端·数据库·python·oracle·数据分析·pymssql