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进行更深入的使用。

相关推荐
2501_947575803 小时前
计算机毕业设计之jsp开山车行二手车交易系统
java·开发语言·hadoop·python·信息可视化·django·课程设计
Byron__4 小时前
AI学习_06_短期记忆与长期记忆
人工智能·python·学习
取经蜗牛5 小时前
Python 第一阶段完全指南:从零到第一个实用工具
开发语言·python
创世宇图5 小时前
【Python工程化实战】OpenTelemetry 在 Python 中的全链路追踪落地:从埋点到可视化的完整实战指南
python·分布式链路追踪·性能监控·opentelemetry·微服务可观测性
许彰午7 小时前
72_Python爬虫基础BeautifulSoup
爬虫·python·beautifulsoup
zhanghongyi_cpp7 小时前
10. 实验书3.4.2 筛选达到预警阈值的病虫害数据
python
tuddy7894647 小时前
Codex++ 安全边界探秘:从模型能力到风险防御
人工智能·python·安全
C++、Java和Python的菜鸟8 小时前
第1章 集合高级
java·jvm·python
第六五8 小时前
Python 内置装饰器
开发语言·python
梦帮科技8 小时前
UE5 GAS 实战:用 Gameplay Ability System 搭建「赛博修真」境界与技能体系
c++·人工智能·python·ue5·c#