本地 Jupyter 对接 Hadoop 生态

想在 JupyterLab notebook 里跑 PySpark / PyFlink 并提交到 Yarn、对接 Hive 时,先看这篇了解整体路线与组件版本

平台使用 / 在线开发
JupyterJupyterLabHadoopSparkpysparkFlinkpyflinkHiveHiveCatalogYarnbigdata大数据findspark组件版本

本地 Jupyter 对接 Hadoop 生态(总览)

本系列介绍如何在 JupyterLab notebook 中对接 Hadoop 生态(Spark / Flink / Hive / Yarn),让 PySpark、PyFlink 作业既能本地运行,也能提交到 Yarn 集群运行、对接 Hive 元数据。

提供两种路线,可按需选择:

  1. 基于已有镜像手动安装——从基础 notebook 镜像出发,逐步手动安装配置 Spark / Flink(适合理解原理、对接各厂商发行版)。
  2. 基于 Dockerfile 的集成镜像——平台源码里已经把整套 Hadoop 生态打进了 bigdata 镜像,开箱即用,/examples 下自带示例。

建议:想快速体验直接用集成镜像(见 03-基于 Dockerfile 集成镜像);想了解原理或对接华为 FusionInsight / 星环 TDH / Cloudera CDH 等非 Apache 发行版,按手动安装路线来。

一、组件版本

1.1 当前集成镜像版本(以源码为准)

平台源码已将 Hadoop 生态集成进 bigdata 镜像。下表依据 images/jupyter-notebook/bigdata/Dockerfilebuild.sh 核实:

组件 版本 依据(images/jupyter-notebook/bigdata/Dockerfile
基础镜像 ccr.ccs.tencentyun.com/cube-studio/notebook-enterprise:jupyter-ubuntu-cpu-base 第 1 行 FROM
Spark 3.4.3(bin-hadoop3) ARG SPARK_VERSION=3.4.3
Flink(pyflink) 1.17.0 ARG FLINK_VERSION=1.17.0
Hadoop 3.3.6 安装 hadoop 一节
Hive 3.1.3 安装 hive 一节
Maven 3.8.8 ARG MAVEN_VERSION=3.8.8
JDK 8 ARG JDK_VERSION=8
构建产物镜像 ccr.ccs.tencentyun.com/cube-studio/notebook-enterprise:jupyter-ubuntu-bigdata-amd64 build.sh:5

1.2 手动安装教程使用的示例版本

下文“手动安装”路线(0102)沿用原始教程的示例版本,仅用于演示步骤;如需与集成镜像保持一致,请把版本号替换为上表中的版本。

组件 教程示例版本 备注
Hadoop 3.2.2 hadoop-3.2.2
Spark 3.1.3 spark-3.1.3-bin-hadoop3.2
Hive 3.1.2 apache-hive-3.1.2-bin
Flink 1.15.1 pyflink
Python 3.8.12 基础镜像自带版本

说明(与源码核对):原始教程基于 notebook:jupyter-ubuntu-cpu-base 与旧版组件(Spark 3.1.3 / Flink 1.15.1 / Hadoop 3.2.2 / Hive 3.1.2),而当前商业版源码(images/jupyter-notebook/bigdata/Dockerfile)已改名为 notebook-enterprise:* 并升级到 Spark 3.4.3 / Flink 1.17.0 / Hadoop 3.3.6 / Hive 3.1.3。下文"手动安装"步骤的命令与下载链接仍以旧版本演示,可正常理解流程,具体版本/路径请以最新源码为准。

二、子文档目录(TOC)

文档 内容
01-手动安装:Spark 配置与测试 启动基础容器、上传 Hadoop 配置、下载配置 Spark、findspark、本地 / 访问 Hive / Yarn-client 运行 PySpark
02-手动安装:Flink 配置与测试 安装 PyFlink、改 JDK8、装 Maven、批量拉依赖、HiveCatalog 配置、本地 / HiveCatalog 运行 PyFlink
03-基于 Dockerfile 的集成镜像 集成镜像 Dockerfile 与启动脚本、启动容器、上传集群配置、开箱即用的 Spark / Flink 示例
04-其他辅助文档 CentOS 下装 Python3.8、安装 Hadoop / Hive 的参考

三、整体路线

  1. 准备一个 Hadoop / Yarn 集群(没有的话可参考 04-其他辅助文档 搭建单机伪分布式集群测试)。
  2. 在 JupyterLab 中配置好 Spark / Flink,并上传集群的 core-site.xmlhdfs-site.xmlyarn-site.xmlhive-site.xml
  3. 用 notebook 跑本地模式验证,再跑 Yarn-client 模式提交到集群,最后对接 Hive。

集成镜像本身的构建属于镜像构建范畴,可参见 04-镜像构建与仓库 / 镜像在线构建和管理06-二次开发 段。

最后更新 2026-07-09完整文档以官方仓库为准:GitHub Wiki