本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
AWS Glue提供Docker容器镜像,使开发人员能够在本地开发环境中构建和测试ETL(抽取、转换、加载)作业。这些容器提供与AWS Glue服务高度相似的开发环境,主要用途包括:
该容器同时支持批处理和流处理工作负载,可用于直接脚本开发和测试驱动开发方法。
3.5.4-amzn-01.7.1.amzn.1-1.amzn2023)0.15.0.amzn.5-1.amzn2023)3.3.0.amzn.0-1.amzn2023)x86_64和arm64两种架构注意:该容器仅适用于本地开发和测试环境,不应用于生产部署。
~/.aws目录)用于运行本地开发的Glue ETL脚本:
# 设置工作区和脚本路径 WORKSPACE_LOCATION=/本地工作区路径 SCRIPT_FILE_NAME=sample.py # 使用spark-submit运行容器 docker run -it --rm \ -v ~/.aws:/home/hadoop/.aws \ # 挂载AWS凭证 -v $WORKSPACE_LOCATION:/home/hadoop/workspace/ \ # 挂载本地工作区 -e AWS_PROFILE=$PROFILE_NAME \ # 指定AWS配置文件(可选) --name glue5_spark_submit \ # 容器名称 public.ecr.aws/glue/aws-glue-libs:5 \ # 镜像名称 spark-submit /home/hadoop/workspace/src/$SCRIPT_FILE_NAME # 提交脚本路径
参数说明:
-v ~/.aws:/home/hadoop/.aws:挂载本地AWS凭证目录,使容器能够访问AWS资源-v $WORKSPACE_LOCATION:/home/hadoop/workspace/:挂载本地工作区,使容器可访问ETL脚本-e AWS_PROFILE:指定要使用的AWS凭证配置文件(如本地配置了多个profile)--rm:容器退出后自动删除-it:交互式终端模式启动交互式PySpark shell进行代码测试:
# 启动交互式PySpark shell docker run -it --rm \ -v ~/.aws:/home/hadoop/.aws \ # 挂载AWS凭证 -e AWS_PROFILE=$PROFILE_NAME \ # 指定AWS配置文件(可选) --name glue5_pyspark \ # 容器名称 public.ecr.aws/glue/aws-glue-libs:5 \ # 镜像名称 pyspark # 启动PySpark REPL
进入shell后,可直接编写和测试PySpark代码,例如:
# 示例:读取S3数据 df = spark.read.csv("s3://my-bucket/path/to/data.csv", header=True) df.show()
使用PyTest运行ETL作业的单元测试:
docker run -i --rm \ -v ~/.aws:/home/hadoop/.aws \ # 挂载AWS凭证 -v $WORKSPACE_LOCATION:/home/hadoop/workspace/ \ # 挂载本地工作区 --workdir /home/hadoop/workspace \ # 设置工作目录 -e AWS_PROFILE=$PROFILE_NAME \ # 指定AWS配置文件(可选) --name glue5_pytest \ # 容器名称 public.ecr.aws/glue/aws-glue-libs:5 \ # 镜像名称 -c "python3.11 -m pytest --disable-warnings" # 运行pytest命令
说明:
--workdir /home/hadoop/workspace:将容器工作目录设置为挂载的工作区python3.11 -m pytest:使用Python 3.11运行pytest--disable-warnings:禁用 pytest 警告输出(可选)hadoop(原版本为glue_user)⚠️ 这些容器镜像专为本地开发和测试设计,使用时需遵守以下安全要求:
容器应仅在安全、隔离的开发环境中运行。
有关早期版本AWS Glue容器的使用说明,请参考:
免费版仅支持 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