AWS Glue与Mongodb Atlas Connection 在Crawler中可以工作,但在ETL Job 中却不行?

0

【以下的问题经过翻译处理】 我正在尝试使用AWS Glue执行ETL作业。 我们的数据存储在MongoDB Atlas中,位于VPC内。 我们的AWS通过VPC peering连接到我们的MongoDB Atlas。

为了在AWS Glue中执行ETL作业,我首先使用VPC详细信息和mongoDB Atlas URI以及密码和用户名创建了一个连接。此连接由AWS Glue Crawler用于从MongoDB中提取模式到AWS数据目录表。 这个连接是有效的!

然而,我尝试使用以下pySpark代码执行实际的ETL作业:

#My Temp Variables source_database="d*********a" source_table_name="main_businesses source_mongodb_db_name = "main" source_mongodb_collection = "businesses"

glueContext.create_dynamic_frame.from_catalog(database=source_database,table_name=source_table_name,additional_options = {"database": source_mongodb_db_name,"collection":source_mongodb_collection})

但是,连接超时,原因是MongoDB Atlas会阻止ETL作业的连接。 就好像ETL作业在使用连接时与爬虫不同。也许ETL作业无法在连接到MongoDB Atlas VPC的AWS VPC内运行作业(VPC对等连接无法实现?)。

有谁知道发生了什么或我该如何修复这个问题?

profile picture
专家
已提问 1 年前95 查看次数
1 回答
0

【以下的回答经过翻译处理】 你是否将该 Connection 添加到Glue作业中?

仅仅引用表是不够的,因为Glue作业在启动之前需要知道连接VPC的详细信息。

profile picture
专家
已回答 1 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则