大数据开发Studio解决方案总结
大数据开发中的痛点
大数据开发面临开发环境与线上环境不一致、作业配置复杂零碎、开发效率低、代码迭代速度慢、线上调度问题等挑战。
解决方案:大数据开发Studio
提出使用大数据开发Studio作为解决方案,其特点为开源、轻量化、松耦合、易维护,通过DS任务插件连接DS和Notebook。
DS + Zeppelin
- Zeppelin简介:提供交互式开发体验,支持线上debug,架构灵活,支持Spark、Flink等多种引擎。
- DS Zeppelin Task Plugin:实现DS与Zeppelin的整合,支持配置、dynamicform等功能。
- 交互式开发体验:通过Zeppelin实现交互式开发。
- Zeppelin架构:支持多种解释器扩展。
- DS Zeppelin任务插件:详细介绍配置、整合、dynamicform等特性。
DS + Jupyter
- Jupyter简介:提供交互式开发体验,拥有丰富生态和庞大用户群体。
- DS Jupyter Task Plugin:通过papermill实现DS与Jupyter的整合,支持parameterization和分布式环境依赖管理。
- Jupyter & Papermill:介绍实现方法。
- 分布式环境下的python依赖管理:提供手动安装、资源中心预打包环境、资源中心上传requirements.txt等多种方案。
- 可视化的python依赖管理:DS Jupyter插件提供多种依赖管理选择。
Studio的监控
- Studio相关Metrics:包括DS相关metrics、Notebook相关Tasks、Workflows、资源管理等。
- 对接Prometheus & Grafana:实现监控和告警功能。
Studio的云上部署方案
- 云上部署方案推荐:包括登陆/认证(LDAP+KNOX SSO)、多集群切换(DS环境管理,Zeppelin对接多集群)、元数据存储(MySQL/PostgreSQL)、资源中心(对接S3/OSS)、Log存储(S3/OSS或AWS CloudWatch)、监控/告警(Prometheus+Grafana)。
- 架构图:展示Studio、Dolphin、Zeppelin、多集群、S3/OSS、MySQL/PostgreSQL、Prometheus+Grafana的部署关系。
- Zeppelin对接多集群:实现多集群切换功能。
DS社区参与体验
DS社区开放、包容、响应迅速。