Zeppelin 是一个提供交互数据分析且基于Web的笔记本。 方便你做出可数据驱动的、可交互且可协作的精美文档,并且支持多种语言,包括Scala(使用Apache Spark)、Python(Apache Spark)、SparkSQL、 Hive、 Markdown、Shell等等。 (类似于ipython notebook,可以直接在浏览器中写代码、笔记并共享)。同时,Zeppelin 还提供了单机 Docker、分布式、K8s、Yarn 四种系统运行模式,以适应各类团队的需求。
首先,在数据预处理和特征工程方面,从数据导入、数据处理、数据探索、数据抽样到数据训练,Zeppelin 已经实现了全覆盖:数据导入支持 HDFS、S3和RDNMS,数据聚合加工处理支持 Hive、Spark,数据探索是 Zeppelin 的强项之一,数据抽样、模型训练和A/B测试则支持Spark。
其次,在模型训练方面,包括逻辑回归(LR)、梯度提升树(GDBT)等传统机器学习模型,以及等卷积神经网络(CNN)、循环神经网络(RNN)、长短期记忆网络(LSTM)等常用于图像、语音、视频的深度学习模型,Zeppelin 都支持各种主流的库,针对前者如Python 库、Spark MLlib、XGBoost,针对后者包括TensorFlow、PyTorch、MXNet等。由于机器学习从业者常用语言包括Python、Scala、R 等,各种环境、版本的冲突是一个很大的挑战,Zeppelin 采用 Docker 的部署解决了这个问题。
再次,在模型在线服务方面,模型的管理支持 Hadoop,模型部署支持 Hadoop 和 Kubernetes,模型库的批处理采用 Spark,增量更新则采用性能更好的 Flink 流计算(以保持模型与时俱进)。
此外,在生态方面,Zeppelin还和 Hadoop Submarine 做了集成,后者是 Hadoop 社区开发的一款机器学习引擎,旨在解决机器学习算法在Kubernetes / YARN 平台上的批量作业处理。二者的集成,可以将 Zeppelin 从支持单任务开发扩展到了支持分布式任务调度的场景。
下载: Download
来源: