(A part of my Apache Zeppelin “project”.)
This is my conspectus of https://zeppelin.apache.org/docs/latest/.
…
…
…
%table
…
The %network directive ⇒ Zeppelin treats the output as a graph.
…
%angular directive
println("%angular <h3>Hello world</h3>")
// bind my 'object' as angular scope variable 'name' in current notebook. z.angularBind(String name, Object object) // bind my 'object' as angular scope variable 'name' in all notebooks related to current interpreter. z.angularBindGlobal(String name, Object object) // unbind angular scope variable 'name' in current notebook. z.angularUnbind(String name) // unbind angular scope variable 'name' in all notebooks related to current interpreter. z.angularUnbindGlobal(String name)
…
// register for angular scope variable 'name' (notebook) z.angularWatch(String name, (before, after) => { ... }) // unregister watcher for angular variable 'name' (notebook) z.angularUnwatch(String name) // register for angular scope variable 'name' (global) z.angularWatchGlobal(String name, (before, after) => { ... }) // unregister watcher for angular variable 'name' (global) z.angularUnwatchGlobal(String name)
…
…
…
…
…
…
https://zeppelin.apache.org/docs/0.11.0/usage/interpreter/overview.html
The concept of Zeppelin interpreter allows any language or data-processing backend to be plugged into Zeppelin.
Supported interpreters:
A Zeppelin interpreter is a plug-in which enables Zeppelin users to use a specific language/data-processing backend. For example, to use Scala code in Zeppelin, you would use the %spark interpreter.
You can create multiple interpreters for the same engine with different interpreter setting. e.g. You can create spark2 for Spark 2.x and create spark1 for Spark 1.x.
For each paragraph you write in Zeppelin, you need to specify its interpreter first via %interpreter_group.interpreter_name. e.g. %spark.pyspark, %spark.r.
%cassandra(outputFormat=cql, dateFormat="E, d MMM yy", timeFormat=E\, d MMM yy)
Every interpreter belongs to an Interpreter Group. Interpreter Groups are units of interpreters that run in one single JVM process and can be started/stopped together.
In the Interpreter Settings, one can choose one of the following interpreter binding modes:
sharedscopedisolated More info: https://zeppelin.apache.org/docs/0.11.0/usage/interpreter/interpreter_binding_mode.html
By default, Zeppelin will register and display all the interpreters under folder $ZEPPELIN_HOME/interpreters. But you can configure property zeppelin.interpreter.include to specify what interpreters you want to include or zeppelin.interpreter.exclude to specify what interpreters you want to exclude. Only one of them can be specified, you can not specify them together. (–> why?)
…
…
When your code requires external library, instead of doing download/copy/restart Zeppelin, you can easily do following jobs in this menu.
This can be done from screen “Interpreters” (accessible from menu point “Interpreters” of the navigation bar on the main screen).
…
It is possible to register hooks - code which will be executed before or after paragraph code
pre_execpost_execSee: https://zeppelin.apache.org/docs/0.11.0/usage/interpreter/execution_hooks.html
https://zeppelin.apache.org/docs/0.11.0/usage/other_features/publishing_paragraphs.html
Paragraphs can be published in an external website (through iframe HTML tag) or simply opened in a new browser window. Simply copy the link (using menu point from the paragraph's menu) and use it. See:
…
…
…
https://zeppelin.apache.org/docs/0.11.0/usage/other_features/cron_scheduler.html
…
The zeppelin-context is a system-wide container for common utility functions and user-specific data.
…
z (e.g. in Spark)%spark
z.put("maxAge", 83)
%jdbc(interpolate=true)
select * from bank where age = {maxAge}
For manipulation on interpreters and its settings. …
At the moment seems to be not very comprehensive. It is only these two calls available:
This API allows manipulations (CRUD and start/stop/restart/etc) on :
…
To manipulate config key/value pairs.
…
To manipulate credentials configuration.
…
Helium is a plugin system that can extend Zeppelin a lot. For example, you can write custom display system or install already published one in Helium Online Registry.
…