本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
Apache Beam 是一个统一的批处理和流处理数据并行处理管道模型,提供跨语言SDK和多后端执行能力。本镜像基于Python 3.6环境,集成Apache Beam Python SDK,用于简化Python开发者构建、测试和运行数据处理管道的流程。
基于Beam模型(原Dataflow模型),提供批处理与流处理的统一抽象,支持无界数据集(流处理)和有界数据集(批处理)的一致处理逻辑。
通过PipelineRunner支持多种分布式处理后端:
假设镜像可通过Docker Hub获取(实际使用时需替换为官方或自定义镜像源):
docker pull apache/beam-python3.6:latest
pipeline.py)| 环境变量名 | 说明 | 适用Runner |
|---|---|---|
BEAM_RUNNER | 指定执行Runner,可选值:DirectRunner/DataflowRunner/FlinkRunner/SparkRunner/JetRunner | 所有 |
PROJECT_ID | Google Cloud项目ID(DataflowRunner必填) | DataflowRunner |
TEMP_LOCATION | 临时文件存储路径(如GCS路径gs://bucket/tmp,DataflowRunner必填) | DataflowRunner |
FLINK_MASTER | Flink集群地址(如localhost:8081或flink-jobmanager:8081) | FlinkRunner |
SPARK_MASTER | Spark集群地址(如spark://spark-master:7077) | SparkRunner |
JET_SERVERS | Hazelcast Jet集群地址列表(如jet-node1:5701,jet-node2:5701) | JetRunner |
GOOGLE_APPLICATION_CREDENTIALS | Google Cloud认证密钥文件路径(DataflowRunner需挂载密钥文件) | DataflowRunner |
将本地代码目录挂载至容器,使用DirectRunner在本地执行:
docker run -it --rm \ -v $(pwd):/app \ -w /app \ -e BEAM_RUNNER=DirectRunner \ apache/beam-python3.6:latest \ python pipeline.py
docker run运行管道执行本地wordcount.py示例(Beam官方示例):
# 下载官方WordCount示例 curl -O [***] # 运行示例(DirectRunner本地执行) docker run -it --rm \ -v $(pwd):/app \ -w /app \ -e BEAM_RUNNER=DirectRunner \ apache/beam-python3.6:latest \ python wordcount-example.py --input /app/input.txt --output /app/output
# 假设本地已准备Google Cloud密钥文件(key.json) docker run -it --rm \ -v $(pwd):/app \ -w /app \ -e BEAM_RUNNER=DataflowRunner \ -e PROJECT_ID=my-gcp-project \ -e TEMP_LOCATION=gs://my-bucket/tmp \ -e GOOGLE_APPLICATION_CREDENTIALS=/app/key.json \ apache/beam-python3.6:latest \ python pipeline.py \ --runner=DataflowRunner \ --project=$PROJECT_ID \ --temp_location=$TEMP_LOCATION \ --job_name=my-dataflow-job
假设本地已有Flink集群(通过Docker Compose启动,jobmanager地址为flink-jobmanager:8081):
docker run -it --rm \ --network flink-network \ # 加入Flink集群网络 -v $(pwd):/app \ -w /app \ -e BEAM_RUNNER=FlinkRunner \ -e FLINK_MASTER=flink-jobmanager:8081 \ apache/beam-python3.6:latest \ python pipeline.py --runner=FlinkRunner --flink_master=$FLINK_MASTER
创建docker-compose.yml,定义Beam容器与Flink集群的联动:
version: '3' services: beam-pipeline: image: apache/beam-python3.6:latest volumes: - ./pipeline:/app working_dir: /app environment: - BEAM_RUNNER=FlinkRunner - FLINK_MASTER=flink-jobmanager:8081 depends_on: - flink-jobmanager - flink-taskmanager command: python pipeline.py --runner=FlinkRunner --flink_master=flink-jobmanager:8081 # Flink集群组件(参考Flink官方Docker配置) flink-jobmanager: image: flink:1.15.0 ports: - "8081:8081" command: jobmanager environment: - JOB_MANAGER_RPC_ADDRESS=flink-jobmanager flink-taskmanager: image: flink:1.15.0 depends_on: - flink-jobmanager command: taskmanager environment: - JOB_MANAGER_RPC_ADDRESS=flink-jobmanager
启动服务:
docker-compose up
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429