NoteBook学习(一)-------- Zeppelin VS Jupyter
html,body { }
html { font-size: 14px; color: rgb(51, 51, 51); background-color: rgb(255, 255, 255) }
body { margin: 0px; padding: 0px; height: auto; bottom: 0px; top: 0px; left: 0px; right: 0px; font-family: “Helvetica Neue”, Helvetica, Arial, sans-serif; font-size: 1rem; line-height: 1.42857; background: inherit }
a:active,a:hover { outline: 0px }
.in-text-selection,::selection { background: rgb(181, 214, 252) }
#write { margin: 0px auto; height: auto; width: inherit; position: relative; padding-bottom: 70px; white-space: pre-wrap }
body.typora-export { padding-left: 30px; padding-right: 30px }
.typora-export #write { margin: 0px auto }
#write>p:first-child,#write>ul:first-child,#write>ol:first-child,#write>pre:first-child,#write>blockquote:first-child,#write>div:first-child,#write>table:first-child { margin-top: 30px }
img { max-width: 100% }
input,button,select,textarea { color: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; font-size: inherit; line-height: inherit; font-family: inherit }
input[type=”checkbox”],input[type=”radio”] { line-height: normal; padding: 0px }
::before,::after,* { }
#write p,#write h1,#write h2,#write h3,#write h4,#write h5,#write h6,#write div,#write pre { width: inherit }
#write p,#write h1,#write h2,#write h3,#write h4,#write h5,#write h6 { position: relative }
h1 { font-size: 2rem }
h2 { font-size: 1.8rem }
h3 { font-size: 1.6rem }
h4 { font-size: 1.4rem }
h5 { font-size: 1.2rem }
h6 { font-size: 1rem }
p { }
.mathjax-block { margin-top: 0px; margin-bottom: 0px }
.hidden { display: none }
.md-blockmeta { color: rgb(204, 204, 204); font-weight: bold; font-style: italic }
a { cursor: pointer }
#write input[type=”checkbox”] { cursor: pointer; width: inherit; height: inherit; margin: 4px 0px 0px }
tr { }
thead { display: table-header-group }
table { border-collapse: collapse; border-spacing: 0px; width: 100%; overflow: auto; text-align: left }
table.md-table td { min-width: 80px }
.CodeMirror-gutters { border-right-width: 0px; background-color: inherit }
.CodeMirror { text-align: left }
.CodeMirror-placeholder { opacity: 0.3 }
.CodeMirror pre { padding: 0px 4px }
.CodeMirror-lines { padding: 0px }
div.hr:focus { cursor: none }
pre { white-space: pre-wrap }
.CodeMirror-gutters { margin-right: 4px }
.md-fences { font-size: 0.9rem; display: block; text-align: left; overflow: visible; white-space: pre; position: relative !important; background: inherit }
.md-diagram-panel { width: 100%; margin-top: 10px; text-align: center; padding-top: 0px; padding-bottom: 8px }
.md-fences .CodeMirror.CodeMirror-wrap { top: -1.6em; margin-bottom: -1.6em }
.md-fences.mock-cm { white-space: pre-wrap }
.show-fences-line-number .md-fences { padding-left: 0px }
.show-fences-line-number .md-fences.mock-cm { padding-left: 40px }
.footnotes { opacity: 0.8; font-size: 0.9rem; padding-top: 1em; padding-bottom: 1em }
.footnotes+.footnotes { margin-top: -1em }
.md-reset { margin: 0px; padding: 0px; border: 0px; outline: 0px; vertical-align: top; text-decoration: none; float: none; position: static; width: auto; height: auto; white-space: nowrap; cursor: inherit; line-height: normal; font-weight: normal; text-align: left; direction: ltr; background: transparent }
li div { padding-top: 0px }
blockquote { margin: 1rem 0px }
li p,li .mathjax-block { margin: 0.5rem 0px }
li { margin: 0px; position: relative }
blockquote>:last-child { margin-bottom: 0px }
blockquote>:first-child { margin-top: 0px }
.footnotes-area { color: rgb(136, 136, 136); margin-top: 0.714rem; padding-bottom: 0.143rem }
.footnote-line { margin-top: 0.714em; font-size: 0.7em }
a img,img a { cursor: pointer }
pre.md-meta-block { font-size: 0.8rem; min-height: 2.86rem; white-space: pre-wrap; display: block; background: rgb(204, 204, 204) }
p>.md-image:only-child { display: inline-block; width: 100%; text-align: center }
#write .MathJax_Display { margin: 0.8em 0px 0px }
.mathjax-block { white-space: pre; overflow: hidden; width: 100% }
p+.mathjax-block { margin-top: -1.143rem }
.mathjax-block:not(:empty)::after { display: none }
[contenteditable=”true”]:active,[contenteditable=”true”]:focus { outline: none }
.task-list { list-style-type: none }
.task-list-item { position: relative; padding-left: 1em }
.task-list-item input { position: absolute; top: 0px; left: 0px }
.math { font-size: 1rem }
.md-toc { min-height: 3.58rem; position: relative; font-size: 0.9rem }
.md-toc-content { position: relative; margin-left: 0px }
.md-toc::after,.md-toc-content::after { display: none }
.md-toc-item { display: block; color: rgb(65, 131, 196); text-decoration: none }
.md-toc-inner:hover { }
.md-toc-inner { display: inline-block; cursor: pointer }
.md-toc-h1 .md-toc-inner { margin-left: 0px; font-weight: bold }
.md-toc-h2 .md-toc-inner { margin-left: 2em }
.md-toc-h3 .md-toc-inner { margin-left: 4em }
.md-toc-h4 .md-toc-inner { margin-left: 6em }
.md-toc-h5 .md-toc-inner { margin-left: 8em }
.md-toc-h6 .md-toc-inner { margin-left: 10em }
a.md-toc-inner { font-size: inherit; font-style: inherit; font-weight: inherit; line-height: inherit }
.footnote-line a:not(.reversefootnote) { color: inherit }
.md-attr { display: none }
.md-fn-count::after { content: “.” }
.md-tag { opacity: 0.5 }
code { text-align: left }
h1 .md-tag,h2 .md-tag,h3 .md-tag,h4 .md-tag,h5 .md-tag,h6 .md-tag { font-weight: initial; opacity: 0.35 }
a.md-header-anchor.md-print-anchor { border: none !important; display: inline-block !important; position: absolute !important; width: 1px !important; right: 0px !important; outline: none !important; text-decoration: initial !important; background: transparent !important }
.md-inline-math .MathJax_SVG .noError { display: none !important }
.mathjax-block .MathJax_SVG_Display { text-align: center; margin: 1em 0em; position: relative; text-indent: 0px; max-width: none; max-height: none; min-width: 0px; min-height: 0px; width: 100%; display: block !important }
.MathJax_SVG_Display,.md-inline-math .MathJax_SVG_Display { width: auto; margin: inherit; display: inline-block !important }
.MathJax_SVG .MJX-monospace { font-family: monospace }
.MathJax_SVG .MJX-sans-serif { font-family: sans-serif }
.MathJax_SVG { display: inline; font-style: normal; font-weight: normal; line-height: normal; text-indent: 0px; text-align: left; text-transform: none; letter-spacing: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0px; min-height: 0px; border: 0px; padding: 0px; margin: 0px }
.MathJax_SVG * { }
html { font-size: 16px }
body { font-family: “Open Sans”, “Clear Sans”, “Helvetica Neue”, Helvetica, Arial, sans-serif; color: rgb(51, 51, 51); line-height: 1.6 }
#write { max-width: 860px; margin: 0px auto; padding: 20px 30px 100px }
#write>ul:first-child,#write>ol:first-child { margin-top: 30px }
body>:first-child { margin-top: 0px !important }
body>:last-child { margin-bottom: 0px !important }
a { color: rgb(65, 131, 196) }
h1,h2,h3,h4,h5,h6 { position: relative; margin-top: 1rem; margin-bottom: 1rem; font-weight: bold; line-height: 1.4; cursor: text }
h1:hover a.anchor,h2:hover a.anchor,h3:hover a.anchor,h4:hover a.anchor,h5:hover a.anchor,h6:hover a.anchor { text-decoration: none }
h1 tt,h1 code { font-size: inherit }
h2 tt,h2 code { font-size: inherit }
h3 tt,h3 code { font-size: inherit }
h4 tt,h4 code { font-size: inherit }
h5 tt,h5 code { font-size: inherit }
h6 tt,h6 code { font-size: inherit }
h1 { padding-bottom: 0.3em; font-size: 2.25em; line-height: 1.2; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(238, 238, 238) }
h2 { padding-bottom: 0.3em; font-size: 1.75em; line-height: 1.225; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(238, 238, 238) }
h3 { font-size: 1.5em; line-height: 1.43 }
h4 { font-size: 1.25em }
h5 { font-size: 1em }
h6 { font-size: 1em; color: rgb(119, 119, 119) }
p,blockquote,ul,ol,dl,table { margin: 0.8em 0px }
li>ol,li>ul { margin: 0px }
hr { height: 4px; padding: 0px; margin: 16px 0px; border-width: 0px 0px 1px; border-style: none none solid; overflow: hidden; border-bottom-color: rgb(221, 221, 221); background-color: rgb(231, 231, 231) }
body>h2:first-child { margin-top: 0px; padding-top: 0px }
body>h1:first-child { margin-top: 0px; padding-top: 0px }
body>h1:first-child+h2 { margin-top: 0px; padding-top: 0px }
body>h3:first-child,body>h4:first-child,body>h5:first-child,body>h6:first-child { margin-top: 0px; padding-top: 0px }
a:first-child h1,a:first-child h2,a:first-child h3,a:first-child h4,a:first-child h5,a:first-child h6 { margin-top: 0px; padding-top: 0px }
h1 p,h2 p,h3 p,h4 p,h5 p,h6 p { margin-top: 0px }
li p.first { display: inline-block }
ul,ol { padding-left: 30px }
ul:first-child,ol:first-child { margin-top: 0px }
ul:last-child,ol:last-child { margin-bottom: 0px }
blockquote { border-left-width: 4px; border-left-style: solid; border-left-color: rgb(221, 221, 221); padding: 0px 15px; color: rgb(119, 119, 119) }
blockquote blockquote { padding-right: 0px }
table { padding: 0px }
table tr { border-top-width: 1px; border-top-style: solid; border-top-color: rgb(204, 204, 204); margin: 0px; padding: 0px; background-color: white }
table tr:nth-child(2n) { background-color: rgb(248, 248, 248) }
table tr th { font-weight: bold; border: 1px solid rgb(204, 204, 204); text-align: left; margin: 0px; padding: 6px 13px }
table tr td { border: 1px solid rgb(204, 204, 204); text-align: left; margin: 0px; padding: 6px 13px }
table tr th:first-child,table tr td:first-child { margin-top: 0px }
table tr th:last-child,table tr td:last-child { margin-bottom: 0px }
.CodeMirror-gutters { border-right-width: 1px; border-right-style: solid; border-right-color: rgb(221, 221, 221) }
.md-fences,code,tt { border: 1px solid rgb(221, 221, 221); font-family: Consolas, “Liberation Mono”, Courier, monospace; padding: 2px 4px 0px; font-size: 0.9em; background-color: rgb(248, 248, 248) }
.md-fences { margin-bottom: 15px; margin-top: 15px; padding: 8px 1em 6px }
.task-list { padding-left: 0px }
.task-list-item { padding-left: 32px }
.task-list-item input { top: 3px; left: 8px }
.md-fences { background-color: rgb(248, 248, 248) }
#write pre.md-meta-block { padding: 1rem; font-size: 85%; line-height: 1.45; border: 0px; color: rgb(119, 119, 119); margin-top: 0px !important; background-color: rgb(247, 247, 247) }
.mathjax-block>.code-tooltip { bottom: 0.375rem }
#write>h3.md-focus::before { left: -1.5625rem; top: 0.375rem }
#write>h4.md-focus::before { left: -1.5625rem; top: 0.285714rem }
#write>h5.md-focus::before { left: -1.5625rem; top: 0.285714rem }
#write>h6.md-focus::before { left: -1.5625rem; top: 0.285714rem }
.md-image>.md-meta { border: 1px solid rgb(221, 221, 221); font-family: Consolas, “Liberation Mono”, Courier, monospace; padding: 2px 4px 0px; font-size: 0.9em; color: inherit; background-color: rgb(248, 248, 248) }
.md-tag { color: inherit }
.md-toc { margin-top: 20px; padding-bottom: 20px }
#typora-quick-open { border: 1px solid rgb(221, 221, 221); background-color: rgb(248, 248, 248) }
#typora-quick-open-item { border-color: rgb(254, 254, 254) rgb(229, 229, 229) rgb(229, 229, 229) rgb(238, 238, 238); border-style: solid; border-width: 1px; background-color: rgb(250, 250, 250) }
.on-focus-mode blockquote { border-left-color: rgba(85, 85, 85, 0.117647) }
header,.context-menu,.megamenu-content,footer { font-family: “Segoe UI”, Arial, sans-serif }
NoteBook学习(一)——– Zeppelin VS Jupyter
1 NoteBook是什么?
比IDE更受数据科学家欢迎的数据处理工具,笔记本。
提供了基于浏览器的交互式分析环境,数据科学家可以使用Python、Scala或者R进行交互式的开发,来设计分析模型,可视化展现分析结果。Notebooks也使得分析过程可以被保存、导入、导出和共享。
可以看成是你存放代码,并添加注释的地方。
可以用Markdown格式的富文本中,穿插任意语言的代码,本地运行,然后以文本、表格、图形来查看结果。
两种最流行的NoteBook应用程序是,Jupyter Notebook 和 Apache Zeppelin。
Jupyter Notebook是IPython Notebook的演变版,更出名。
2 Zeppelin VS Jupyter
Zeppelin | Jupyter | |
---|---|---|
开发语言 | python | java |
最新版本 | 0.8.0 | 5.7.0 |
GithubStar | 3907 | 5124 |
安装 | 简单 | 简单 |
诞生 | 2012年 | 2013年 |
支持Spark | 支持 | 支持 |
支持Flink | 支持 | 暂不支持 |
多用户 | 支持 | 不支持 |
权限 | 支持 | 不支持 |
jupyter出现的更久,活跃用户更多。zeppelin更适合企业级应用。