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

如何在本地Python 2.7环境中执行AWS Glue脚本及相关操作?

解决Python 2.7环境下AWS Glue操作的问题

嘿,我明白你的困扰了——awsglue.transforms确实不是boto3的一部分,它是AWS Glue ETL作业专用的库,而且因为Python 2.7已经停止官方支持,这个库也不会适配Python 2.7环境。不过没关系,我们完全可以用boto3的Glue客户端或者AWS CLI来实现你需要的获取Schema、数据库和表信息的操作,下面给你详细的方案:

一、用boto3实现Glue资源查询

boto3提供了完整的Glue客户端接口,足以覆盖你需要的所有操作,直接写Python脚本就行:

1. 初始化Glue客户端

首先创建Glue客户端实例,记得替换成你的AWS区域:

import boto3

# 替换成你的AWS区域,比如us-east-1
glue_client = boto3.client('glue', region_name='your-aws-region')

2. 获取所有数据库详情

这个接口会返回AWS Glue控制台里所有数据库的基本信息:

# 获取所有数据库
db_response = glue_client.get_databases()
for db in db_response['DatabaseList']:
    print(f"数据库名称: *{db['Name']}*")
    print(f"描述: {db.get('Description', '无描述信息')}")
    print(f"存储位置: {db['LocationUri']}\n")

3. 查看指定数据库下的所有表

指定数据库名称后,就能列出该库下的所有表:

target_db = 'your-database-name'
# 获取目标数据库下的所有表
tables_response = glue_client.get_tables(DatabaseName=target_db)
for table in tables_response['TableList']:
    print(f"表名称: *{table['Name']}*")
    print(f"创建时间: {table['CreateTime']}\n")

4. 获取表的Schema信息

通过get_table接口可以拿到表的完整结构,其中就包含Schema(列名和数据类型):

target_table = 'your-table-name'
# 获取目标表的详情
table_details = glue_client.get_table(DatabaseName=target_db, Name=target_table)
# 提取Schema信息
schema_columns = table_details['Table']['StorageDescriptor']['Columns']
print(f"表 *{target_table}* 的Schema信息:")
for col in schema_columns:
    print(f"- 列名: {col['Name']}, 数据类型: {col['Type']}")

二、用AWS CLI实现同样操作

如果你不想写Python脚本,直接用AWS CLI命令也能快速查询:

  • 获取所有数据库:
aws glue get-databases --region your-aws-region
  • 获取指定数据库下的所有表:
aws glue get-tables --database-name your-database-name --region your-aws-region
  • 获取特定表的Schema信息:
aws glue get-table --database-name your-database-name --name your-table-name --region your-aws-region

注意事项

因为你用的是Python 2.7,要注意boto3对Python 2.7的最后支持版本是1.16.53,如果你的boto3版本太高可能会出现兼容性问题,建议安装这个版本:

pip install boto3==1.16.53

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 09:22:45