// the find
apache/zeppelin
Web-based notebook that enables data-driven, interactive data analytics and collaborative documents with SQL, Scala and more.
Apache Zeppelin is a web-based notebook for interactive data analytics, primarily targeting Spark and Flink workloads. It predates Jupyter's dominance in the data space and carved out a niche in the Java/Scala big-data ecosystem. If you're running Spark on JVM and don't want to fight Python packaging, this is the notebook for you.
First-class Spark and Flink integration without Python bridging overhead — interpreters run in the JVM directly. Interpreter architecture is genuinely flexible: you can bind multiple backends (SQL, Scala, shell, Python) in a single notebook and switch mid-paragraph. Built-in user auth via Apache Shiro and multi-user isolation modes (shared/scoped/isolated) that Jupyter only gets right with JupyterHub bolted on. Active as of today's push, which matters for a project this old.
Jupyter has won. The ecosystem of extensions, widgets, and published notebooks is overwhelmingly Jupyter-first, so choosing Zeppelin means accepting friction every time you look for examples or community help. The build is a Maven monorepo with 20+ submodules and a bundled frontend — building from source is a multi-hour commitment. The UI feels 2015: AngularJS, no dark mode, visualization options are basic compared to what you'd get wiring Jupyter to Plotly or Vega. Configuration is XML-first (zeppelin-site.xml, shiro.ini) which is verbose and error-prone compared to modern YAML-based tooling.