使用 alexmerced/datanotebook Docker 镜像

💡 原文英文,约600词,阅读约需3分钟。
📝

内容提要

本文介绍了alexmerced/datanotebook docker镜像,用于快速创建数据笔记本环境,不包含Spark。镜像提供多个库,适用于临时数据工程和数据分析工作。还介绍了连接到远程Spark服务器的方法。

🔎

延伸解读

镜像定位:轻量级数据笔记本环境

该镜像专为快速启动数据笔记本设计,与作者之前的 spark35notebook 镜像不同,它不在容器内运行 Spark,因此无需令牌即可访问笔记本。适合临时数据工程和分析任务,但需注意其不包含 Spark 服务,仅安装了 pySpark 库。

数据持久化与访问方式

通过 docker run 命令将当前目录映射到容器内 /home/pydata/work,实现文件持久化。启动后访问 localhost:8888 即可使用。示例展示了用 Polars 创建 DataFrame 并写入 Parquet 文件,验证了环境的基本数据处理能力。

预装库覆盖常见数据任务

镜像预装了丰富的数据科学库,涵盖数据处理(pandas、numpy、polars、dask、ibis)、机器学习(scikit-learn、tensorflow、torch、xgboost、lightgbm)、可视化(matplotlib、seaborn、plotly)、数据库访问(psycopg2-binary、mysqlclient、sqlalchemy、duckdb、pyarrow)及对象存储(boto3、s3fs、minio)等。用户也可通过 pip 安装额外库。

连接远程 Spark 与 MinIO 的配置

由于容器内无 Spark,需连接外部 Spark 服务器。示例展示了配置 SparkSession 连接远程 Spark master 和 MinIO 对象存储的方法,包括设置 S3A 端点、访问密钥等参数,并演示了创建 DataFrame、过滤数据及读写 Parquet 文件到 MinIO 的流程。

❓

Q&A

alexmerced/datanotebook Docker 镜像的主要用途是什么?

该镜像用于快速创建数据笔记本环境,适合临时数据工程和数据分析工作。

如何使用 docker 命令创建 alexmerced/datanotebook 容器?

可以使用命令:docker run -p 8888:8888 -v $(pwd):/home/pydata/work --name my_notebook alexmerced/datanotebook。

这个 Docker 镜像包含哪些库?

镜像提供了 pandas、numpy、polars、dask、scikit-learn、tensorflow、matplotlib 等多个库。

如何在这个镜像中安装额外的库?

可以使用 pip 命令,例如:!pip install polars。

如何连接到远程 Spark 服务器?

可以通过配置 SparkSession,设置 master URL 和相关的 MinIO 配置来连接远程 Spark 服务器。

这个 Docker 镜像是否支持 Spark?

该镜像不包含 Spark,但安装了 pySpark,可以连接到外部 Spark 服务器。

🏷️

标签

➡️

继续阅读