背景

大数据数据需要查询分析可视化工具,AI数据挖掘和探索也需要相关可视化编辑工具,开源产品主要有两个一个是Zeppelin notebook 一个是jupyter notebook,其中juypter主要用于数据科学家、算法分析人员使用python进行数据分析、算法建模,相关企业如aws、百度、腾讯都有基于jupyter notebook去进行定制化开发,zeppelin notebook比较偏重于大数据数据查询分析可视化,支持多种大数据计算引、存储引擎擎如:Spark、Flink、Hive、Kylin等,现在对这两个产品进行介绍

Apache Zeppelin简介

Zeppelin是一个Web笔记形式的交互式数据查询分析工具,可以在线用scala和SQL对数据进行查询分析并生成报表,notebook可以包括多个paragraph(段)。paragraph是进行数据分析的最小单位,即在 paragraph中可以完成数据分析代码的编写以及结果的可视化查看。因此,一个paragraph 可看做是一个基本的任务单元。Zeppelin的后台数据引擎可以是Spark、flink、Python等,开发者可以通过实现更多的解释器来为Zeppelin添加数据引擎。

  • 多解释器支持

  • 丰富的数据可视化

  • 其他功能

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JU6oQBfu-1648114874903)(https://ask.qcloudimg.com/developer-images/article/1591933/6v6mvjkt28.png)]

  • IDEA插件
    作为一个开发来说,通过idea插件跟zeppelin连接,可以很方便的编写代码,快速的进行数据查询分析。

Zeppelin 架构

Zeppelin的核心功能就是:通过不同的解释器支持多种语言的repl,并对返回结果进行可视化展示。

主要分成三块 1.Zeppelin 前端 2.Zeppelin Server 3.Zeppelin Interpreter

Zeppelin前端是基于AngularJS

Zeppelin Server是一个基于Jetty的轻量级Web Server,主要负责以下一些功能:1.登陆权限管理 、 2.Zeppelin配置信息管理 、3.Interpreter 配置信息和生命周期管理、 4.Note存储管理 、5.插件机制管理

zeppelin采用WebSocket技术的必要性问题,zeppelin是共享式、Notebook式的大数据分析环境,以repl的方式执行以Paragraph为最小粒度的代码段。

首先repl的方式强调实时反馈执行结果,特别是在大数据环境下,一段代码可能需要执行很长时间,在执行的过程中,zeppelin的用户期望看到执行进度和中间结果,需要在前后端之间建立一个长连接,便于实时传递数据。

另外zeppelin的另一个亮点是其结果可视化能力,需要在前后台传递图片,并且支持较大数据量的传输的能力(相对传统http技术)。

再者,由于是共享式环境,一个Note可能被多个用户同时看到、甚至编辑,需要在各个已经打开了同一个Note的web客户端之间同步Note的代码、执行结果和进度信息。

Jupyter 简介

Jupyter Notebook是一个开源的Web应用程序,允许用户创建和共享包含代码、方程式、可视化和文本的文档。它的用途包括:数据清理和转换、数值模拟、统计建模、数据可视化、机器学习等等。它具有以下优势:

可选择语言:支持超过40种编程语言,包括Python、R、Julia、Scala等。

分享笔记本:可以使用电子邮件、Dropbox、GitHub和Jupyter Notebook Viewer与他人共享。

交互式输出:代码可以生成丰富的交互式输出,包括HTML、图像、视频、LaTeX等等。

大数据整合:通过Python、R、Scala编程语言使用Apache Spark等大数据框架工具。支持使用pandas、scikit-learn、ggplot2、TensorFlow来探索同一份数据。

jupyter项目架构

架构图

项目关系图

jupyter项目利用了利用了ZeroMQ的Publisher-Subscriber模式来做通信,前后端通过websockets和http 请求进行交互。整个项目看起来挺负责,提供了灵活的可扩展的方式,可以通过定制kernel去实现。juypter 相比于zeppelin多进程的实现方式,资源利用率高,但是隔离性不如zeppelin。

总结

两个产品功能都差不多,不过相比较而言zeppeplin比较是适合企业级部署应用,支持比较多的大数据计算引擎,而juypter notebook比较适合于个人用户以及AI建模人员去使用,目前各大云厂商都有类似的结局方案,生产化的化基本上都是以云原生的方式去部署。

参考文档

http://wwj718.github.io/post/%E6%9E%B6%E6%9E%84/jupyter-notebook-architecture/

大数据AI Notebook产品介绍和对比相关推荐

  1. 实时计算框架 Flink 新方向:打造「大数据+AI」 未来更多可能

    2019-12-20 17:57 导语:如何将大数据与 AI 结合...... 自 Flink 开源以来,越来越多的开发者加入了 Flink 社区.仅仅 2019 年,Flink 在 GitHub 上 ...

  2. 从大数据+AI 谈谈概念与场景

    前端时间跟朋友吐槽,吹牛逼,我说我生不逢时啊. 2005年,在百度做数据分析,商业数据,搜索数据,社交产品数据,联盟数据,客户端数据,各种数据反正都拿来搞每天处理几亿条日志吧,自己写代码,搞几台服务器 ...

  3. 华为云快成长直播间大数据AI专场,加速经济物联网智能化提升

    万物智联的经济物联网环境,传统经济场景单一化.管理不集中.用户画像不精准等问题,促进了经济智能化提升,企业也需要更稳定.更安全的大数据平台作为经济提升的产品驱动力. 9月8日,华为云快成长直播间大数据 ...

  4. 人工智能的应用实例——Smartbi大数据AI机器人

    随着现代科学技术的发展,AI–人工智能机器人逐渐成为了人类活动的最有力帮手.时代在不断进步,当然AI机器人也一样.俗话说:把握住了AI智能就是把握住了"第四次工业革命",每一改革都 ...

  5. 企业引入大数据/AI 的难点,落地方式以及行业阶段

    适合的读者: 正在思考或者想引入大数据/AI的中小企业的[管理者]或者[大数据部Leader].当然,其他人也可能能够在这篇文章得到一些收益. 包含的主题: 价值落地之前,大数据/AI 建设需要跨越的 ...

  6. 大数据角度给大家解释一下为什么大数据AI分析足彩是扯淡

    从大数据角度给大家解释一下为什么大数据AI分析足彩是扯淡的:如果相同的维度,维度包括球员.场内.场外.教练组.基本面.伤病.阵容等不变,你让两个队踢100万场,那么我们确实可以回归出来一个胜平负的率, ...

  7. 【大数据AI人工智能】大数据、云计算和人工智能:未来最热门专业的要点和技能要求

    [大数据&AI人工智能]大数据.云计算和人工智能:未来最热门专业的要点和技能要求 文章目录 [大数据&AI人工智能]大数据.云计算和人工智能:未来最热门专业的要点和技能要求 I. 大数 ...

  8. 北京内推 | 中国电信总部大数据AI中心招聘计算机视觉算法实习生

    合适的工作难找?最新的招聘信息也不知道? AI 求职为大家精选人工智能领域最新鲜的招聘信息,助你先人一步投递,快人一步入职! 中国电信 中国电信总部云网运营部大数据AI中心(中国电信集团有限公司数字智 ...

  9. 大数据周周看:京东将大数据AI科学家裴健招致麾下,英特尔芯片漏洞致股价大跌

    [数据猿导读] 英特尔芯片漏洞事件持续发酵,股价跌幅超过6%:大数据AI科学家裴健加盟京东,任集团副总裁直接向刘强东汇报:云端数据库平台"DNAnexus"完成5800万美元融资- ...

  10. 论建立全国充电桩大数据AI平台提供统一充电服务

    论建立全国充电桩大数据AI平台提供统一充电服务 李万鸿 2020-8-23 摘要:电动车的使用越来越广,充电市场随之兴起,有多家公司运营充电业务,目前充电桩已达122万台,充电桩的硬件品牌繁多,使用软 ...

最新文章

  1. java中的进制输出转换_Java I/O : Java中的进制详解
  2. mysql求女生人数_在读女硕士110多万!为什么越来越多的女生选择考研?
  3. vs编译obj给delphi用
  4. 修改Mysql表中自增字段的初始值
  5. leetcode310. 最小高度树(bfs)
  6. hook 监控文件 c++_技术分享 | Linux 入侵检测中的进程创建监控
  7. java 模板方法_Java设计模式21:模板方法(Template Method)
  8. B00014 C++实现的AC自动机
  9. centos 查看版本(转)
  10. 拓端tecdat|Python用Keras神经网络序列模型回归拟合预测、准确度检查和结果可视化
  11. 前后端分离,nginx解决跨域问题
  12. OpenCore启动项中无Install macOS Big Sur 的解决办法
  13. 计算机显示器出现黑屏分析
  14. Activity 过渡动画 — 让切换更加炫酷
  15. python头像右上角加红色数字_「微信头像右上角数字」微信头像右上角红色数字怎么添加? - seo实验室...
  16. java中 求余运算 % ,正负号问题
  17. 古剑奇谭显示服务器维修,《古剑奇谭网络版》角色转服功能说明公告
  18. 深度模型框架(持续更新)
  19. AI RoboForm 7.3.2发布[附pro破解方法]
  20. 基于matlab的交通信号模糊控制系统设计

热门文章

  1. 极光推送java添加用户_极光推送 java集成
  2. 如何在Mac上释放内存?Mac清除RAM教程
  3. jar脱壳_软件脱壳 - Rannie` - 博客园
  4. bc汇编指令用法_BC操作流程
  5. AndroidSDK目录和源码目录详解
  6. JS 的内联模式与外联模式
  7. phpmail通过qq发邮箱失败_PHPMailer使用QQ邮箱实现邮件发送功能
  8. 金笛邮件服务器解析中小企业对自建邮件系统的误区
  9. CSS渐变背景看这一篇就够了
  10. C语言知识点--define的替换列表为空是怎么回事?