【以下的问题经过翻译处理】 我正在尝试使用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对等连接无法实现?)。
有谁知道发生了什么或我该如何修复这个问题?