Apache Beam Java 17 SDK镜像,用于构建和运行批处理与流处理数据管道,支持跨多种执行引擎(如Spark、Flink)运行,提供Java 17环境及Beam核心库,适合Java开发者快速开发分布式数据处理应用。
下载次数: 174529
类型:
apache/beam_java17_sdkApache Beam Java 17 SDK镜像是基于Java 17环境构建的官方Apache Beam开发运行环境,集成了Beam Java SDK核心组件与依赖库。该镜像旨在为Java开发者提供统一的批处理与流处理数据管道开发、测试和运行平台,支持跨多种执行引擎(如DirectRunner、SparkRunner、FlinkRunner)无缝运行,简化分布式数据处理应用的开发与部署流程。
Pipeline、PCollection、Transform)bashdocker pull apache/beam-java17-sdk:latest
挂载本地Beam项目代码至容器,进行开发与调试:
bashdocker run -it --rm -v /path/to/your/beam-project:/app apache/beam-java17-sdk:latest /bin/bash
在容器内运行编译后的Beam应用JAR包:
bash# 示例:使用DirectRunner本地执行批处理管道 java -cp /app/target/your-pipeline.jar com.example.YourPipeline --runner=DirectRunner
镜像支持通过环境变量自定义运行参数,常用配置如下:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
BEAM_RUNNER | 默认执行引擎(可选值:DirectRunner/SparkRunner/FlinkRunner等) | DirectRunner |
JAVA_OPTS | JVM启动参数(如内存配置、系统属性) | -Xmx512m |
BEAM_SDK_VERSION | Beam SDK版本号(用于验证依赖兼容性) | 镜像内置版本 |
PIPELINE_ARGS | 管道默认参数(如输入路径、输出路径) | 空 |
示例:指定使用SparkRunner并配置JVM内存
bashdocker run -it --rm \ -e BEAM_RUNNER=SparkRunner \ -e JAVA_OPTS="-Xmx2g -XX:+UseG1GC" \ -v /path/to/project:/app \ apache/beam-java17-sdk:latest \ java -cp /app/target/pipeline.jar com.example.SparkPipeline --spark-master=spark://spark-cluster:7077
对于依赖外部服务(如Kafka、数据库)的复杂管道,可通过docker-compose.yml管理多容器协同:
yamlversion: '3.8' services: beam-pipeline: image: apache/beam-java17-sdk:latest volumes: - ./your-beam-project:/app environment: - BEAM_RUNNER=FlinkRunner - JAVA_OPTS=-Xmx1g - PIPELINE_ARGS=--inputTopic=kafka:9092/input --outputTable=jdbc:postgresql://db:5432/results depends_on: - flink-jobmanager - kafka - db # 依赖服务示例(Flink集群、Kafka、PostgreSQL) flink-jobmanager: image: flink:1.17-scala_2.12 command: jobmanager environment: - JOB_MANAGER_RPC_ADDRESS=flink-jobmanager kafka: image: confluentinc/cp-kafka:7.3.0 environment: - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka:9092 - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 db: image: postgres:14 environment: - POSTGRES_DB=beam_results - POSTGRES_USER=beam_user - POSTGRES_PASSWORD=beam_pass
适用于开发阶段快速验证管道逻辑,无需分布式集群:
bashdocker run -it --rm -v /path/to/project:/app apache/beam-java17-sdk:latest \ java -cp /app/target/pipeline.jar com.example.TestPipeline \ --runner=DirectRunner \ --inputFile=/app/test-data/input.txt \ --outputFile=/app/test-data/output.txt
需确保容器可访问Spark集群,配置spark-master地址:
bashdocker run -it --rm -v /path/to/project:/app apache/beam-java17-sdk:latest \ java -cp /app/target/pipeline.jar com.example.SparkPipeline \ --runner=SparkRunner \ --spark-master=spark://spark-master:7077 \ --spark.app.name=beam-spark-pipeline
需提前部署Flink集群,并配置JobManager地址:
bashdocker run -it --rm -v /path/to/project:/app apache/beam-java17-sdk:latest \ java -cp /app/target/pipeline.jar com.example.FlinkPipeline \ --runner=FlinkRunner \ --flink-master=flink-jobmanager:8081 \ --streaming=true
--network参数指定Docker网络JAVA_OPTS内存参数,避免OOM错误(建议生产环境配置-Xmx4g以上)以下是 apache/beam_java17_sdk 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务