You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在本地VS Code中搭建并测试AWS Glue ETL代码(无Docker方案)

本地VS Code配置AWS Glue ETL开发测试(无Docker方案)

针对你只有生产环境、想本地开发测试Glue代码的需求,以下是实操步骤:

1. 先装齐必要工具

  • Python环境:选和你用的AWS Glue版本匹配的Python(比如Glue 3.0对应Python 3.7,Glue 4.0对应Python 3.9),安装时勾选"Add Python to PATH"
  • Glue Python库:打开终端执行 pip install aws-glue-libs==3.0.0(版本号对应你的Glue版本,比如4.0就用4.0.0)
  • VS Code插件:安装微软官方的Python插件(用于代码补全、调试),以及AWS Toolkit插件(方便关联AWS账号)

2. 配置本地环境

  • 选择Python解释器:在VS Code中按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(Mac),搜索Python: Select Interpreter,选中安装了glue库的Python环境
  • AWS凭证配置:要访问生产环境的S3等资源,需配置本地AWS凭证。可以直接执行 aws configure,按提示输入Access Key、Secret Key、默认区域;也可以手动编辑凭证文件:
    • Linux/Mac:编辑 ~/.aws/credentials
    • Windows:编辑 C:\Users\<你的用户名>\.aws\credentials
      文件内容格式:
    [default]
    aws_access_key_id = 你的生产环境Access Key
    aws_secret_access_key = 你的生产环境Secret Key
    
    注意:为了安全,给这个凭证分配最小必要权限——仅开放Glue操作、S3读写等业务需要的权限,避免使用管理员权限。

3. 编写带测试逻辑的Glue代码

本地运行Glue代码需要模拟GlueContext和SparkSession,直接用glue库初始化即可,示例代码结构:

import sys
from awsglue.context import GlueContext
from pyspark.context import SparkContext
from pyspark.sql import SparkSession

# 初始化上下文
sc = SparkContext.getOrCreate()
glueContext = GlueContext(sc)
spark = glueContext.spark_session

def run_etl():
    # 读取数据:测试阶段可用本地路径(比如"./local-data/input.csv"),也可直接用生产S3路径
    raw_data = glueContext.create_dynamic_frame.from_options(
        connection_type="s3",
        connection_options={"paths": ["s3://your-prod-bucket/input/"]},
        format="csv"
    )
    # 你的ETL转换逻辑,比如删除无效列、修改数据类型
    cleaned_data = raw_data.drop_fields(["invalid_col"])
    # 输出:测试阶段可写到本地或专门的测试S3路径,不要直接写入生产输出目录
    glueContext.write_dynamic_frame.from_options(
        frame=cleaned_data,
        connection_type="s3",
        connection_options={"path": "s3://your-prod-bucket/test-output/"},
        format="parquet"
    )

if __name__ == "__main__":
    run_etl()
    spark.stop()

4. 本地运行和调试

  • 直接运行:在终端执行 python your-glue-script.py,或者点击VS Code右上角的运行按钮
  • 调试:打开左侧调试图板,点击"创建launch.json文件"并选择Python环境,在代码中设置断点后启动调试,即可逐步查看执行过程、排查问题

5. 部署到生产环境

本地测试通过后,将代码打包成.zip文件(如果有额外依赖,需将依赖一同打包,排除Python系统库)。登录AWS控制台进入Glue服务,创建新Job:

  • 选择对应的Glue版本、Worker类型
  • 上传代码包,配置具备生产环境操作权限的IAM角色
  • 设置好Job参数后,即可启动生产环境的Glue Job

内容的提问来源于stack exchange,提问作者PAWAN NEGI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 15:07:47