在解决“AWS GlueContext未能初始化。”错误时,可以尝试以下解决方法:
from awsglue.context import GlueContext
from pyspark.context import SparkContext
# 创建SparkContext
sc = SparkContext()
# 创建GlueContext
glueContext = GlueContext(sc)
确保AWS Glue作业在AWS Glue环境中运行: 请确保代码在AWS Glue作业或AWS Glue开发终端中运行,而不是在本地环境中运行。
检查IAM角色权限: 确保IAM角色具有运行AWS Glue作业所需的权限。您可以通过将以下策略附加到IAM角色来授予所需的权限:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"glue:*"
],
"Resource": [
"arn:aws:glue:*:*:*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:*"
],
"Resource": [
"arn:aws:s3:::*"
]
},
{
"Effect": "Allow",
"Action": [
"logs:CreateLogGroup",
"logs:CreateLogStream",
"logs:PutLogEvents",
"logs:DescribeLogStreams"
],
"Resource": [
"arn:aws:logs:*:*:*"
]
}
]
}
如果上述解决方法仍然无法解决问题,建议查看AWS Glue错误日志以获取更详细的错误信息,并尝试根据错误信息进行进一步的排查和解决。