繁体   English   中英

AWS Glue ETL 作业中的 Boto3 Glue

[英]Boto3 Glue in AWS Glue ETL Job

我正在运行 AWS Glue ETL 作业 (Pyspark),我在其中创建了 Glue 的 boto3 客户端来启动爬虫并执行其他一些 PySpark 处理。 问题是调用start_crawler后 Glue 作业继续运行。 它既不给出任何错误,也不结束或启动爬虫。 我的代码片段如下:

import sys
import boto3
import time

glue_client = boto3.client('glue', region_name = 'us-east-1')
crawler_name = 'test_crawler'
    
print('Starting crawler...')
print(crawler_name)
glue_client.start_crawler(Name=crawler_name)

而如果我在 Python Shell Glue Job 中执行相同的代码,它会成功启动爬虫并终止作业。 我在这里做错了什么还是我需要做一些特定的 w.r.t Glue ETL 工作?

编辑:我的 Glue 作业附加了一个 Glue 连接,我用它来连接到 RDS。 如果我删除它,那么这段代码可以正常工作。 但我需要这个连接才能连接到 RDS。 有什么帮助吗?

这不是您的问题的答案,而只是一个提示。 我认为在同一工作中启动爬虫并不是一个好主意。 您无法控制爬虫何时完成以及它是否完成得好。 我要做的是创建一个 AWS Step Function 并创建工作流,首先是粘合作业,完成后,下一步将是爬虫。 这样您就可以控制和监控该过程。

我遇到了同样的错误,并将我的 ETL 作业移至 aws glue 3.0,现在 boto3 客户端正在为我工作。 让我知道这是否不能解决您的问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM